Вам необходимо использовать методы asyncExec
или syncExec
в классе Display
, чтобы выполнить исполняемый файл в основном потоке:
// do stuff in a background thread
// ...then schedule job to run in main thread
display.asyncExec(new Runnable() {
...
});
И syncExec
, и asyncExec
планируют работу в главном потоке (UI) как можно скорее. Разница в том, что asyncExec
возвращается немедленно, а syncExec
не вернется, пока работа не будет завершена.