El mejor libro que he encontrado en multihebra es "Concurrencia de Java en la práctica". Se concentra mucho en la concurrencia de subprocesos de Java, y es a la vez humillante y emocionante cuando comienzas a comprender los problemas y las posibilidades que presenta la concurrencia. La copia que compré hace unos años tenía algunas erratas en la codificación, lo que exacerbó un tema que ya desafía el cerebro: echa un vistazo a la errata aquí: http://jcip.net/errata.html.
Aunque está diseñado para desarrolladores de Java que quieran aventurarse en la concurrencia (que por cierto incluye a cualquiera que alguna vez haya usado una interfaz GUI de cualquier tipo), estoy seguro de que las dificultades técnicas y sutilezas del libro se aplican a cualquier implementación de concurrencia
Por cierto, también me encanta Jython y puedo confirmar que cualquier cosa en cuanto a la simultaneidad que se pueda hacer en Java aparentemente se puede hacer en Jython. Sin embargo, hay una advertencia: la concurrencia puede ser para la programación asincrónica (incluida la GUI) y/o para el rendimiento. Si para este último tiene un problema, en mi opinión: Jython en mi experiencia se ejecuta aproximadamente 10 veces más lento que el programa equivalente de Java.
Lo que esto significa es que sus módulos Jython más exigentes tendrán que llamar a algo más que a Jython para las tareas de cálculo de números. Al mismo tiempo, Jython hasta ahora * no ha tenido el módulo de multiprocesamiento de Python, por lo que las comunicaciones entre procesos están fuera, a menos que se aventure en el territorio temido de RMI. Eres más un hombre/mujer que yo si tomas esa opción. Pero todo está bien: consulte "La guía definitiva de Jython" en http://www.jython.org ... el capítulo 19 es una especie de introducción a la concurrencia, y el capítulo 10 trata sobre la integración de Java y Jython (pista: es absurdamente fácil).
- interesante: un vistazo rápido al sitio Jython muestra que, hace apenas 10 días, 17/05/12, se lanzó la versión 2.7a1 ... una versión "Alpha". Esto debería contener el módulo de multiprocesamiento, que entró con Python 2.6. Sería interesante comprobar esto: si es así, presumiblemente, ofrece la interesante opción de vincular los procesos de Jython y CPython (actualización posterior: por desgracia, por el momento parece que no es así), el nombre de módulo "multiprocesamiento" no se reconoció cuando lo intenté) ...
PS una última palabra: la mayoría de los expertos que saben mucho más acerca de estas cosas que digo que la ley de Moore está siendo reemplazado en importtance por la ley de Amdahl, que en definitiva significa que el enorme desafío de estabilidad de programación y los programas simultáneos verdaderos escalables serán inevitables en el futuro. No puedo decir exactamente qué tan fácil es la concurrencia real (es decir, hilo) con el uso de herramientas inteligentes de análisis de código, pero la inversión en este tema y las fascinantes e intelectuales nuevas disciplinas de razonamiento impuestas por concurrencia probablemente darán frutos ... si te gusta un desafío
Esta es una buena pregunta, sinceramente, no sé la respuesta, pero tengo varios hilos con ambos, así que tal vez una mejor pregunta es: '¿Tengo que usar el multiproceso de Python o el enrutamiento de Java? Estoy seguro de que funciona, pero no estoy seguro de cuál usar, ya que jython es una mezcla de ambos. – Lostsoul
¿Te refieres a Jpython o Jython? Este es el tipo de pregunta abierta que no es realmente una buena opción para SO, por cierto. –
Según [esta pregunta (http://stackoverflow.com/questions/4227269/hidden-multithreading-bottlenecks-in-jython), la respuesta es sí. Entiendo que es posible acceder a las bibliotecas de subprocesamiento de python o al soporte de concurrencia de Java a través de jython. –