Я играю в C, используя Threads для Windows, но в какой-то момент игры мне нужно остановить некоторые потоки в определенный момент, я не знаю ни функции, ни параметров, которые мне нужны, чтобы остановить поток, ни что это возвращается.
Эти две функции одинаковы, простой таймер, который запускается до достижения лимита счетчика. Я хочу останавливать второй поток всякий раз, когда захочу, без использования второго параметра WaitForSingleObject (hThread, Miliseconds).
DWORD WINAPI timer(LPVOID segundo)
{
int counter = 0;
while(counter<segundo)
{
counter++;
gotoxy(30,5);
printf("%d", counter);
Sleep(1000);
}
return NULL;
}
DWORD WINAPI prueba(LPVOID segundo)
{
int counter = 0;
while(counter<segundo)
{
counter++;
gotoxy(30,10);
printf("%d", counter);
Sleep(1000);
}
return NULL;
}
int main()
{
int limit = 5, *ptr;
*ptr = limit;
HANDLE hThread1, hThread2;
DWORD time, probo;
hThread1 = CreateThread(NULL, 0, timer, *ptr, 0, &time);
hThread2 = CreateThread(NULL, 0, prueba, *ptr, 0, &probo);
WaitForSingleObject(hThread2, INFINITE);
WaitForSingleObject(hThread1,INFINITE);
return 0;
}