tiempo threads threading programacion multitarea mismo metodos manejo hilos entre eliminar ejemplos ejecutar detener comunicacion como multithreading language-agnostic concurrency

multithreading - threads - multitarea en python



¿Cuáles son algunos buenos recursos para aprender programación con hilos? (17)

Eche un vistazo a " The Free Lunch Is Over " de Herb Sutter y luego a su serie de artículos sobre Concurrencia Efectiva .

Con el aumento de las CPU multinúcleo en el escritorio, las habilidades de subprocesamiento múltiple se convertirán en un activo valioso para los programadores. ¿Puede recomendar algunos buenos recursos (libros, tutoriales, sitios web, etc.) para un programador que está buscando aprender sobre la programación de hilos?



http://www.cilk.com/multicore-e-book/

Esa es una buena descripción general de la situación, si está buscando tutores y libros, sería mejor especificar un idioma como punto de partida para poder usar algún código.


El lenguaje de programación de Erlang proporciona un estilo fácil de usar de programación simultánea. Puede que en realidad nunca use Erlang, pero los conceptos son transportables a otros idiomas. Es posible que desee leer el libro Programming Erlang: Software for a concurrent World .

Los fanáticos de la programación funcional afirman que no hay necesidad de aprender nada nuevo. Solo use un lenguaje funcional puro, y el compilador o intérprete automáticamente lo paralelizará todo. Por lo que es posible que desee aprender Haskell, OCaml u otro lenguaje funcional.



Creo que Boost.Threads es una gran biblioteca de concurrencia de C ++ para aprender, especialmente si solo quieres comenzar a escribir aplicaciones multiproceso. El código es muy sucinto y fácil de entender, además el próximo estándar de C ++ probablemente incluirá una biblioteca de subprocesos basada en Boost.Threads (tutorial: http://www.ddj.com/cpp/184401518 )


He leído (la mayoría de) Java Concurrency in Practice por Brian Goetz, que es muy bueno.

Obviamente, hay un tema basado en Java que se ejecuta en el libro (utilizando implementaciones específicas de subprocesos, bloqueos, etc.), pero prácticamente todos los principios se pueden aplicar a otros idiomas.

La página de inicio del autor contiene una lista de los artículos que ha escrito, algunos de los cuales incluyen temas relacionados. Tal vez comiences allí y si te gusta su estilo, compra el libro.



Para una gran guía y referencia para la programación de concurrencia en C # (o .NET en general), recomendaría el artículo de MSDN What Every Dev Must Know About Multithreaded Apps de Vance Morrison en MSDN. Contiene una gran cantidad de información de mejores prácticas y advertencias sobre el desarrollo de múltiples hilos


Si quieres probar una versión altamente paralela de una tarea simple o ver soluciones reales, podrías hacer algo peor que mirar el proyecto de buscador ancho . Básicamente se trata de cómo hacer correspondencias de expresiones regulares paralelas de archivos de registro de manera eficiente, pero tratando de agregar la menor cantidad de código posible.

Los participantes han enviado soluciones en muchos idiomas diferentes y se publican los resultados de rendimiento . El proyecto original ya ha finalizado y ahora hay un amplio buscador 2 que está llevando a cabo el trabajo.

CodingHorror tiene una buena introducción al buscador amplio .



Para un tratamiento rico y completo del tema, con un buen equilibrio entre la informática y la práctica, recomiendo The Art of Multiprocessor Programming . Muchos ejemplos están en código orientado a objetos, es decir, Java, con otros idiomas dispersos por todas partes. Solo depende del tema que se cubre. Lo que realmente amo de este libro es que analiza cómo los algoritmos comunes deberían implementarse en un diseño concurrente. Por supuesto, ¡hay mucho más!

Para conceptos generales y un tratamiento de pthreads, realmente me gusta la Programación con POSIX Threads . Siendo la biblioteca y API que es, está en C.

Para los desarrolladores de Windows y C #, echa un vistazo al blog de Joe Duffy . Joe trabaja en bibliotecas paralelas, infraestructura y modelos de programación en la División de Desarrolladores de Microsoft. Tiene un libro en noviembre de 2008 titulado Programación concurrente en Windows ( enlace de Amazon ).

Además, no se pierda el blog del Padrino: Sutter''s Mill de Herb Sutter. Él tiene enlaces a todos sus artículos en el Dr. Dobb''s Journal y más. Haga clic en su categoría Concurrencia .


Mantengo un linkblog para artículos de concurrencia, blogs y proyectos en:

http://concurrency.tumblr.com

Normalmente publico un enlace o dos por día sobre una variedad de temas (hilos, actores, bloqueo, programación paralela) en una variedad de entornos (Erlang, Java, Scala, .NET, C ++, Ruby, Python, etc.).



¡Es específico de Delphi, pero no hay ninguna razón por la cual el concepto no se aplicaría a ningún otro idioma!

Tutorial de Multi Threading



Si trabaja con C #, el libro "C # 2008 and 2005 rosded programming", por Gaston C. Hillar - Packt Publishing - http://www.packtpub.com/beginners-guide-for-C-sharp-2008-and- 2005-threaded-programming / book , te ayudará. Muy recomendable para los programadores de C #, ya que puedes descargar el código con ejemplos divertidos que explotan tu computadora multinúcleo. El libro es una buena guía con mucho código para practicar. Cuenta historias mientras explica los conceptos más difíciles.