代码之家  ›  专栏  ›  技术社区  ›  Ori Marko

Eclipse-allowDeadlock运行时选项

  •  1
  • Ori Marko  · 技术社区  · 7 年前

    allowDeadlock 是日食的一种 runtime-options ,但没有描述

    Eclipse Code 没有执行 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;
    

    但是我没有找到 reference 如何/何时使用它

    我还没有删除命令行参数“-allowDeadlock”-谁知道呢,

    是否有使用此标志的用例?它对于在应用程序中查找可能卡住eclipse的死锁有用吗?

    1 回复  |  直到 7 年前
        1
  •  1
  •   howlger df778899    7 年前

    看见 Javadoc of UILockListener

    UI锁侦听器用于防止UI线程死锁 当拥有锁的线程正在尝试 syncExec

    如果我理解正确, -allowDeadlock 防止UI线程中的插件持有锁并调用时UI冻结 syncExec (这是不应该的)。因此,这是一种使用/运行第三方插件的变通方法。

    在中跟踪缺少的描述 Eclipse bug 496422 .