Я создал автоматический набор тестов, в котором пул потоков работает одновременно на фоне всех тестовых примеров, чтобы получить данные о системе и показатели производительности. Каждый поток использует соединение JSch для выполнения своих команд оболочки, и они получают [JSchException: каналы, не открытые исключения].Почему мои потоки не выходят, когда заканчивается тестовый комплект?
Основная проблема заключается в том, что набор тестов продолжает работать вечно, потому что потоки не выходят, даже когда все тестовые примеры завершены. Но я не знаю, почему ...
Когда я проверил дамп потока, я обнаружил, что потоки не выходят из-за того, что они находятся в состоянии BLOCKED.
У кого-нибудь есть объяснение? Или какая-то помощь в решении этой проблемы?
Вы можете опубликовать проверенный код? – maffelbaffel
Потоки, вероятно, просто ждут дальнейшей работы. Вы должны завершить сеанс тестирования явным отключением всех подсистем, которые вы явно начали. –
См. [Блокировка Mutex: что означает «блокировка»?] (Http://stackoverflow.com/questions/3982501/mutex-lock-what-does-blocking-mean). Похоже, ваши темы соперничают для ресурса ... – gknicker