Я использую Jython в качестве механизма сценариев в своем приложении Java. Я могу запустить любой скрипт Jython из своего Java-приложения, вызвав pi.execfile(script_name). Но проблема в том, что мне также нужен способ остановить выполнение скрипта вручную из кода Java. Как я могу остановить это, не изменяя скрипт Jython?
Я запускаю скрипт в отдельном потоке, поэтому попытался прервать его через scriptRunningThread.interrupt(); и поймать InterrupredException, но поток просто приостановится и зависнет... Вновь созданные потоки тоже будут зависать
Другой способ - поделиться общим объектом и сделать Jython-скрипт, чтобы проверить, хочет ли пользователь выйти.
Третий способ - запустить отдельный процесс (консольный режим моего приложения) и убить его при нажатии кнопки STOP. Но мне это решение не нравится...
Какие-либо предложения?