Capítulo 12. Hilos paralelos
Este trabajo se ha traducido utilizando IA. Agradecemos tus opiniones y comentarios: translation-feedback@oreilly.com
Esta noche son 99 revoluciones.
Green Day, "99 Revoluciones"
Casi todos los ordenadores vendidos en los últimos años -incluso muchos teléfonos- son multinúcleo. Si estás leyendo esto en un ordenador con teclado y monitor, es posible que puedas averiguar cuántos núcleos tiene tu ordenador mediante:
-
Linux:
grep cores /proc/cpuinfo
-
Mac:
sysctl hw.logicalcpu
-
Cygwin:
env | grep NUMBER_OF_PROCESSORS
Un programa con un solo hilo no aprovecha al máximo los recursos que nos han proporcionado los fabricantes de hardware. Afortunadamente, no hace falta mucho para convertir un programa en uno con hilos paralelos concurrentes; de hecho, a menudo sólo hace falta una línea de código adicional. En este capítulo trataré:
-
Una rápida visión general de las diversas normas y especificaciones que existen para escribir código C concurrente
-
La única línea de código OpenMP que hará que tus bucles
for
sean multihilo -
Notas sobre las banderas del compilador que necesitarás para compilar con OpenMP o pthreads
-
Algunas consideraciones sobre cuándo es seguro utilizar esa línea mágica
-
Implementar map-reduce, lo que requiere ampliar esa línea con otra cláusula
-
La sintaxis para ejecutar un puñado de tareas distintas en paralelo, como la UI y el backend de un programa basado en GUI.
-
La palabra clave
_Thread_local
de C, que hace copias privadas de ...
Get C del siglo XXI, 2ª edición now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.