allowDeadlock
是Eclipse runtime-options之一,但没有描述
-allowDeadlock <描述>
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”-谁知道, 有人可能会依靠它。 (?)
是否有使用此标志的用例?在可能导致日食卡死的应用程序中查找死锁是否有用?
答案 0 :(得分:1)
UI锁定侦听器用于防止UI线程死锁 拥有锁的线程尝试
syncExec
时在锁上锁定。
如果我理解正确,当UI线程中的插件持有锁并调用-allowDeadlock
(不应这样做)时,syncExec
可以防止UI冻结。因此,使用/运行能够做到这一点的第三方插件是一种解决方法。
在Eclipse bug 496422中跟踪缺少的描述。