Я пытаюсь изолировать проблему с многопоточной чтением в моем приложении C ++. < /p>
обработчик ниже создается и «обрабатывается» в вспомогательном потоке. < /p>
struct Handler
{
void process(const std::vector ops)
{
std::vector::const_iterator iter = ops.cbegin();
while( iter != ops.cend() ) {
processOperation( op );
}
}
void processOperation(std::vector::const_iterator& iter)
{
size_t op = *iter;
iter++;
switch( op ) {
case frame_push : {
processOperation( iter );
break;
}
case frame_pop : {
return;
}
default : { break; }
}
}
};
< /code>
Как вы можете видеть в вышеперечисленном, процессоперпоокуса () вызывает себя, если текущий «OP» будет равен frame_push. Однако, когда я запускаю этого обработчика в вспомогательном потоке вместо основного потока, это происходит гораздо быстрее. < /p>
Кажется, что возможность переполнения стека вызовов не является моей единственной проблемой здесь. Может ли быть и проблема повторной деятельности? Спасибо!
Подробнее здесь: https://stackoverflow.com/questions/309 ... k-overflow
C ++ Многопользовательский стек переполнен ⇐ C++
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
«Окно не определено», но стек выглядит неверно; Как получить точный стек вызовов?
Anonymous » » в форуме Javascript - 0 Ответы
- 11 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Многопользовательский, параллельный и динамический рабочий процесс в Django
Anonymous » » в форуме Python - 0 Ответы
- 16 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Многопользовательский TCP-чат Java с реализацией графического интерфейса
Anonymous » » в форуме JAVA - 0 Ответы
- 25 Просмотры
-
Последнее сообщение Anonymous
-