Информация об изменениях

Сообщение QueueUserAPC от 21.07.2022 14:08

Изменено 21.07.2022 14:52 кубик

QueueUserAPC
Всем привет,

В целях ускорения создания потоков наваял thread pool.
Не пойму как правильно ждать что б не было stack overflow ?
Я делаю примерно так:
void worker (* params){
    // delaet work
    SleepEx (INFINITE,TRUE);
}

void main (){
    QueueUserAPC((PAPCFUNC)worker, handle....

}


Все работает. Только если я брякнусь в worker то увижу длинный стек трейс как будто worker вызывает себя снова и снова.
Если в таком духе, то будет stack overflow.
Не пойму, как делать то ..
QueueUserAPC
Всем привет,

В целях ускорения создания потоков наваял thread pool.
Не пойму как правильно ждать что б не было stack overflow ?
Я делаю примерно так:
void worker (* params){
    // delaet work
    ...
    //потом засыпает
    SleepEx (INFINITE,TRUE);
}

void main (){
    // handle получен ранее , всё норм
    QueueUserAPC((PAPCFUNC)worker, handle....

}


Все работает. Только если я брякнусь в worker то увижу длинный стек трейс как будто worker вызывает себя снова и снова.
Если в таком духе, то будет stack overflow.
Не пойму, как делать то ..