Yuriy Asaulenko: Todo el mundo trabaja con DLL, sólo un grupo de sectarios que creen que es la máxima competencia trabajan con los milagros de MKL.
Eso es divertidísimo, y no podría estar más de acuerdo )))) Bien ido a leer los manuales y a pensar en las opciones que se ofrecen. Gracias a todos los que realmente no flub, sugirió varias soluciones. Ahora hay mucho donde elegir.
If the macro constant is defined by the compiler, the header and all of the names listed here are not provided. Function names, type names, and enumeration constants that begin with either , , , or , and a...
HH: también podrías leer el libro "c++ concurrency in action" de anthony williams. Por ejemplo, en el capítulo 9, escribe "pool de hilos".
No me fijé en el enlace Ver también al final de la página )) Lo tengo, st d::thread está en C, perostd::async no (( Estoy leyendo este libro ahora )) Parallel C++ programming in action, Anthony Williams. El libro está en el archivo adjunto, async empieza en el capítulo 4, bastante fácil de leer. Y Kurt Ganteroth, en su libro Optimizing C++ Programs, afirma que es 14 veces más caro crear hilos que usar std::async. Por eso en un principio quería usar async, pero tampoco sabía mucho de hilos en C/C++, porlo que silos hilos son más caros, se caen por el uso de todos modos. Pero resulta que en C,std::async no existe((
No me fijé en el enlace Ver también al final de la página )) Lo tengo, st d::thread está en C, pero std:: async no (( Estoy leyendo este libro ahora )) Programación paralela en C++ en acción, por Anthony Williams. Si te interesa el libro está en el archivo adjunto, async empieza en el capítulo 4, bastante fácil de leer. Y Kurt Ganteroth, en su libro Optimizing C++ Programs, afirma que es 14 veces más caro crear hilos que utilizar std::async. Por eso en un principio quería usar async, pero tampoco sabía mucho de hilos en C/C++, por lo que silos hilos son más caros, no vale la pena usarlos de todos modos. Pero resulta que en C,std:: async no existe ((
Un hilo no es más caro, sólo es una herramienta de nivel inferior con la que se puede hacer cualquier cosa. Puedes hacer tu propio pool de hilos simple en "hilos caros" - una hora de escritura (o tomar una lib ya hecha).
crear hilos es 14 veces más caro que usar std::async.
One of the advantages of using instead of manually creating objects is supposed to be that can use thread pools under the covers to avoid oversubscription problems. But which...
Async puede ejecutarse de forma sincrónica, hay una bandera para ello. Creo que la agrupación de hilos en los pluses es complicada y sólo tiene sentido escribirla en caso de extrema necesidad. Será mejor que le eches un vistazo a Sharp, a esa agrupación de hilos.
También recomendaría "Scott Meyers: Efficient and Modern C++". 2016, fácil de leer, como una superproducción. He adjuntado el archivo a continuación. Tiene un interesante capítulo sobre los hilos. Y en general, hay que leer a Meyers, porque hay que hacerlo )))
Creo que la agrupación de hilos en los profesionales es complicada y sólo tiene sentido si es absolutamente necesaria.
No lo hagas más difícil de lo necesario. Si no quieres escribirlo tú mismo, puedes coger fácilmente uno ya hecho, una rápida búsqueda aquí https://github.com/vit-vit/ctpl. Y es algo menos predecible, a diferencia de async (que suele ser criticado).
More specifically, there are some threads dedicated to the pool and a container of jobs. The jobs come to the pool dynamically. A job is fetched and deleted from the container when there is an idle thread. The job is then run on that thread. A thread pool is helpful when you want to minimize time of loading and destroying threads and when you...
No lo hagas más difícil de lo que tiene que ser. Si no quieres escribirlo tú mismo, puedes conseguir fácilmente uno ya hecho, aquí tienes una búsqueda rápida https://github.com/vit-vit/ctpl. Y es algo menos predecible, a diferencia de async (que suele ser criticado).
No, no me apetece )))))) Pero una búsqueda superficial también es, umm, cargada. Me he encontrado con mucha basura en github. Pero me interesa otra, ¿hay alguna tarea que realmente requiera thread pooling? ¿No se trata de crear un hilo, olvidarlo y esperar a que termine, sino de ponerlo en común como describe Williams? Parece ser un ejemplo de cajero automático, si no me equivoco: ¿qué tarea podría justificar semejante milagro? Todavía no se me ocurre tal tarea. Y por qué no te fijas realmente en ThreadPool donde ya está todo hecho, hay documentación y ejemplos.
Me gusta todo )) diferentes enfoques para entender y luego elegir el que tiene más sentido para mí y se ajusta a los requisitos, es simple.
Todo el mundo trabaja con DLL, sólo un grupo de sectarios que creen que es la máxima competencia trabajan con los milagros de MKL.
Eso es divertidísimo, y no podría estar más de acuerdo ))))
Bien ido a leer los manuales y a pensar en las opciones que se ofrecen.
Gracias a todos los que realmente no flub, sugirió varias soluciones.
Ahora hay mucho donde elegir.
¿Entiendo correctamente que Futures y Async son estándar sólo para C++?
¿No existe una biblioteca similar en C?
¿Entiendo correctamente que Futures y Async son estándar sólo para C++?
¿No hay una biblioteca similar en C?
Sí. Cish std también tiene soporte multihilo https://en.cppreference.com/w/c/thread
ZS: también podrías leer el libro "c++ concurrency in action" de anthony williams. Por ejemplo, en el capítulo 9, escribe "pool de hilos".
Sí. Cish std también tiene soporte multihilo https://en.cppreference.com/w/c/thread
HH: también podrías leer el libro "c++ concurrency in action" de anthony williams. Por ejemplo, en el capítulo 9, escribe "pool de hilos".
No me fijé en el enlace Ver también al final de la página ))
Lo tengo, st d::thread está en C, perostd::async no ((
Estoy leyendo este libro ahora )) Parallel C++ programming in action, Anthony Williams.
El libro está en el archivo adjunto, async empieza en el capítulo 4, bastante fácil de leer.
Y Kurt Ganteroth, en su libro Optimizing C++ Programs, afirma que es 14 veces más caro crear hilos que usar std::async.
Por eso en un principio quería usar async, pero tampoco sabía mucho de hilos en C/C++,
porlo que silos hilos son más caros, se caen por el uso de todos modos.
Pero resulta que en C,std::async no existe((
No me fijé en el enlace Ver también al final de la página ))
Lo tengo, st d::thread está en C, pero std:: async no ((
Estoy leyendo este libro ahora )) Programación paralela en C++ en acción, por Anthony Williams.
Si te interesa el libro está en el archivo adjunto, async empieza en el capítulo 4, bastante fácil de leer.
Y Kurt Ganteroth, en su libro Optimizing C++ Programs, afirma que es 14 veces más caro crear hilos que utilizar std::async.
Por eso en un principio quería usar async, pero tampoco sabía mucho de hilos en C/C++,
por lo que silos hilos son más caros, no vale la pena usarlos de todos modos.
Pero resulta que en C,std:: async no existe ((
Un hilo no es más caro, sólo es una herramienta de nivel inferior con la que se puede hacer cualquier cosa. Puedes hacer tu propio pool de hilos simple en "hilos caros" - una hora de escritura (o tomar una lib ya hecha).
crear hilos es 14 veces más caro que usar std::async.
Tal vez si hay un grupo de hilos dentro de async, pero ese no es siempre el caso https://stackoverflow.com/questions/15666443/which-stdasync-implementations-use-thread-pools.
Como resultado, async es una caja negra e incontrolable. No te insto a escribir tu propio pool, si te sientes cómodo con async, bien.
ZS: había rumores de que async iba a ser eliminado de c++17.Async puede ejecutarse de forma sincrónica, hay una bandera para ello. Creo que la agrupación de hilos en los pluses es complicada y sólo tiene sentido escribirla en caso de extrema necesidad. Será mejor que le eches un vistazo a Sharp, a esa agrupación de hilos.
También recomendaría "Scott Meyers: Efficient and Modern C++". 2016, fácil de leer, como una superproducción. He adjuntado el archivo a continuación. Tiene un interesante capítulo sobre los hilos. Y en general, hay que leer a Meyers, porque hay que hacerlo )))
Creo que la agrupación de hilos en los profesionales es complicada y sólo tiene sentido si es absolutamente necesaria.
No lo hagas más difícil de lo necesario. Si no quieres escribirlo tú mismo, puedes coger fácilmente uno ya hecho, una rápida búsqueda aquí https://github.com/vit-vit/ctpl. Y es algo menos predecible, a diferencia de async (que suele ser criticado).
No lo hagas más difícil de lo que tiene que ser. Si no quieres escribirlo tú mismo, puedes conseguir fácilmente uno ya hecho, aquí tienes una búsqueda rápida https://github.com/vit-vit/ctpl. Y es algo menos predecible, a diferencia de async (que suele ser criticado).