Я начал использовать С++ 11 std::thread
(mingw 4.8), пока все хорошо. Я столкнулся с ситуацией с перекрывающимся вводом-выводом, когда sleepEx
использовался для перевода потока в состояние ожидания с возможностью оповещения. Это работало довольно хорошо, пока не пришлось использовать QueueUserAPC
, что вернуло «ошибку недопустимого дескриптора».
После некоторых поисков выяснилось, что std::thread
использует библиотеку pthread под Windows.
Есть ли способ использовать вызовы Windows API, которые ожидают дескриптор потока с std::thread
? Или мне нужно придерживаться потоков Windows для перекрывающихся операций ввода-вывода?