[英]Eclipse Plugin IDE frozen / not refreshing during process
我现在正在开发Eclipse插件,有一个我无法解决的问题。 有这种情况:
我有两个过程。 进程A填充一个视图(带有Nebula XViewer表)。 流程B使用视图中的数据(我猜这会导致某种生产者-消费者问题)。
现在,我可以手动触发这两个过程,效果非常好。 但是,我还希望可以选择在手动启动进程A(A完成后的OFC)时自动触发进程B。
问题是,在进程运行时,即使我调用ViewPart或View的刷新功能,在进程运行完成时,Plugin-Eclipse-IDE也会冻结, 并且视图不会刷新 。 这使我处于进程B启动的情况,但是视图中的数据是旧数据,而不是来自进程A的最后一次运行。
有人知道该如何解决吗? 也许有某种方法可以将命令优先级设置为最高? 要强制日食在执行其他操作之前刷新视图?
从您的问题的声音来看,您的代码需要花费很长时间才能在用户界面线程中运行。 由于必须保持UI线程响应,因此可以保证UI冻结。 长时间运行的代码应使用Eclipse Job
或Thread在后台运行。
在后台运行代码时,无法直接更新UI。 相反,您将必须使用Display
的asyncExec
或syncExec
方法来更新UI。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.