Eclipse - параметр среды выполнения allowDeadlock

allowDeadlock является одним из Eclipse параметры времени выполнения, но не имеет описания

-allowDeadlock < description>

Код Затмения не выполняет UISynchronizer в этом случае:

if (avoidDeadlock) {
        UILockListener uiLockListener = new UILockListener(display);
        Job.getJobManager().setLockListener(uiLockListener);
        synchronizer = new UISynchronizer(display, uiLockListener);
        display.setSynchronizer(synchronizer);
        // declare the main thread to be a startup thread.
        UISynchronizer.startupThread.set(Boolean.TRUE);
    } else
        synchronizer = null;

Но я не нашел ссылка, как и когда его использовать

I haven't removed the command line argument "-allowDeadlock" - who knows, someone might rely on it. (?)

Есть ли вариант использования этого флага? полезно ли это для поиска мертвых замков в приложении, которые могут застрять в затмении?

Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
1
0
46
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

См. Javadoc из UILockListener:

The UI lock listener is used to prevent the UI thread from deadlocking on a lock when the thread owning the lock is attempting to syncExec.

Если я правильно понимаю, -allowDeadlock предотвращает зависание пользовательского интерфейса, когда подключаемый модуль в потоке пользовательского интерфейса удерживает блокировку и вызывает syncExec (чего не должно быть). Так что это обходной путь - использовать / запускать сторонние плагины, которые это делают.

Отсутствующее описание отслеживается в Ошибка Eclipse 496422.

Другие вопросы по теме