Потоки Windows: beginthread или QueueUserWorkItem (C++)
Мне интересно, использовать ли beginthread или QueueUserWorkItem для потоковых методов в C++. Каковы различия между двумя API и в каком контексте они лучше подходят?
Спасибо,
Кстати, я прочитал этот вопрос Windows Threading: _beginthread против _beginthreadex против CreateThread C++
2 ответа
Решение
QUWI использует поток из пула потоков для выполнения функции обратного вызова. Такие нити очень легкие, но не подходят для всех типов резьбовых задач. Основные требования заключаются в том, что они должны быть относительно недолговечными, не блокироваться очень часто и не критичны по времени.
Все это довольно хорошо объяснено в теме SDK.
Система лучше справляется с управлением потоками, чем приложение. Просто используйте системный пул потоков и покончите с этим.