Убить Java поток от ОС - PullRequest
       11

Убить Java поток от ОС

1 голос
/ 23 апреля 2011

Мы запускаем приложение, созданное SAP, которое работает на IBM JRE. Я могу получить использование процессора на уровне потоков, используя ps -mp <PID> -o THREAD. Есть ли подобный способ убить конкретный поток из ОС (AIX 5.3)? Может быть какой-то сигнал в команде kill?

Я слышал, что отладчик java может использоваться для случайного уничтожения потоков. Кто-нибудь может подсказать мне, где я могу лучше всего изучить его использование?

1 Ответ

2 голосов
/ 23 апреля 2011

Даже если вы технически можете это сделать, я бы не рекомендовал делать это, поскольку программа, включающая поток, может быть не готова обработать эту ситуацию и затем создать случайные ошибки.

Представьте себе сценарий, в котором рассматриваемый поток удерживает блокировку, чтобы другие потоки ожидали блокировки. Теперь, когда вы убьете поток извне, он не снимет блокировку, и ваше приложение будет просто ждать вечно после снятия блокировки.

...