Ответ 1
Лучшей книгой, которую я встречал при многопоточности, является "Java Concurrency in Practice". Он очень концентрируется на потоке Java concurrency, и одновременно смиряется и увлекателен, когда вы начинаете понимать проблемы и возможности, представленные concurrency. Копия, которую я купил несколько лет назад, имела некоторые ошибки в кодировании, тем не менее, которая усугубляла уже вызывающий мозг предмет: проверьте здесь ошибки: http://jcip.net/errata.html.
Хотя он предназначен для разработчиков Java, желающих перейти на Concurrency (кстати, среди всех, кто когда-либо использовал GUI-интерфейс любого типа), я уверен, что технические трудности и тонкости, изложенные в книге, применимы к любой реализации из concurrency.
Кстати, я также люблю Jython и могу подтвердить, что что-либо concurrency, - что вы можете сделать в Java, которое вы, по-видимому, можете сделать в Jython. Однако есть оговорка: Concurrency может быть для асинхронного программирования (включая графический интерфейс) и/или для производительности. Если для последнего у вас есть проблема, на мой взгляд: Jython по моему опыту работает примерно на 10 x медленнее, чем эквивалентная Java-программа.
Это означает, что вашим более требовательным модулям Jython придется вызывать что-то другое, кроме Jython, для задач с хрустом числа. В то же время Jython до сих пор не имеет модуля многопроцессорности Python, поэтому межпроцессные коммуникации отсутствуют, если вы не рискуете оказаться в страшной территории RMI. Ты больше мужчина или женщина, чем я, если ты примешь этот вариант. Но все в порядке: см. "Окончательное руководство по Jython" в http://www.jython.org... глава 19 - это своего рода введение в стиле свистка до concurrency, а глава 10 посвящена интеграции Java и Jython (подсказка: это абсурдно легко).
- Интересно: быстрый взгляд на сайт Jython показывает, что всего 10 дней назад, 17/05/12, была выпущена версия 2.7a1... релиз "Alpha". Это должно содержать модуль многопроцессорности, входящий в состав Python 2.6. Wd будет интересно проверить это: если это так, возможно, дает вам захватывающий вариант связывания процессов Jython и CPython (обновление позже: к сожалению, на данный момент это выглядит так, что имя модуля "многопроцессорность" не было распознано, когда я пытался)...
PS последнее слово: большинство экспертов, которые знают гораздо больше об этих вещах, чем я говорю, что закон Мура заменяется законом Амдала, что, вкратце означает, что сложная задача программирования стабильных и масштабируемых настоящих параллельных программ будет неизбежным в будущем. Точно как легко true (т.е. поток) Concurrency можно сделать с помощью умных инструментов анализа кода, которые я не могу сказать, но инвестиции в эту тему и увлекательные, интеллектуальные новые дисциплины рассуждений, навязанные Concurrency, вероятно, окупится... если вам нравится вызов.