| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Java: Общие вопросы > Почему виснет Thread? |
| Автор: Andrey1 23.7.2009, 18:40 | ||
Никак не могу осознать глюк. Допустим запускаются два Thread. Если произошел выход в одном из них, нужно завершить и второй (сигнал к выходу храним в forceExitFlag).
На практике t.interrupt(); вначале некоторое время срабатывает ОК, но потом прога зависает не понятно где. activeThreads оказывается > 0, и один из Thread не завершается. |
| Автор: can4ec 24.7.2009, 11:02 |
| Привет. Исходя из того кода что ты выложил твои процессы закцыкливаются в блоке while (!forceExitFlag && hasNewTask()). Переменная forceExitFlag меняется уже после этого блока. Конечно возможно, что ты ее меняешь в функции hasNewTask(), но кода этой функции тут нету. |