Сообщение QueueUserAPC от 21.07.2022 14:08
Изменено 21.07.2022 14:52 кубик
QueueUserAPC
Всем привет,
В целях ускорения создания потоков наваял thread pool.
Не пойму как правильно ждать что б не было stack overflow ?
Я делаю примерно так:
Все работает. Только если я брякнусь в worker то увижу длинный стек трейс как будто worker вызывает себя снова и снова.
Если в таком духе, то будет stack overflow.
Не пойму, как делать то ..
В целях ускорения создания потоков наваял 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 ?
Я делаю примерно так:
Все работает. Только если я брякнусь в worker то увижу длинный стек трейс как будто worker вызывает себя снова и снова.
Если в таком духе, то будет stack overflow.
Не пойму, как делать то ..
В целях ускорения создания потоков наваял thread pool.
Не пойму как правильно ждать что б не было stack overflow ?
Я делаю примерно так:
void worker (* params){
// delaet work
...
//потом засыпает
SleepEx (INFINITE,TRUE);
}
void main (){
// handle получен ранее , всё норм
QueueUserAPC((PAPCFUNC)worker, handle....
}
Все работает. Только если я брякнусь в worker то увижу длинный стек трейс как будто worker вызывает себя снова и снова.
Если в таком духе, то будет stack overflow.
Не пойму, как делать то ..