Как передать данные в другой поток в рамках одного процесса? Я пишу в C++ для windows 7 os. Рассмотрим следующую нить, например:как передать информацию в поток во время выполнения?
DWORD WINAPI MyThreadFunction(LPVOID lpParam){
while(true){
//Do the thread's job here
if(gotReturnInstruction()){
//release memory etc.
break;
}
}
return 0;
}
Этот поток выполняет свою работу до тех пор, пока какой-либо другой поток подскажет ему вернуться. У меня есть дескриптор потока, который я получаю от функции CreateThread(). Как передать сообщение в поток (в этом случае инструкция по остановке)?
Обычно вы передаете параметрам дескриптор события, а внутри while (true) вы проверяете, предупреждено ли событие, чтобы остановить выполнение. –
@ JoãoAugusto О каком событии вы говорите? Можете ли вы дать ссылку на документацию, может быть? –
Функции Check, CreateEvent, SetEvent и WaitForSingleObject –