Equinox 启动器 Main.run() 调用每个操作
Equinox launcher Main.run() called on each action
我有一个基于 eclipse 的产品(我们添加了一些插件并将其打包为产品)。
我们有一些性能问题和不合理的锁定。
在调查 YourKit Java Profiler
期间,我注意到在每个执行的操作(展开文件夹、按下按钮、保存文件等)中,最高的 CPU 负载和最长的 CPU 使用是在一个名为 main
的线程上从 org.eclipse.equinox.launcher.Main.run(String[]) Main.java:1499
.
开始
org.equinox.launcher
插件的版本是1.4.0.v20161219-1356
。
这是什么线程,为什么它总是 运行(它不是守护线程,显然它一直处于活动状态)?我该怎么办?
这是主要的 Eclipse 用户界面线程。它包含 SWT 显示“readAndDispatch”循环,其中 运行 所有用户界面代码。
此线程始终处于 运行 状态,对此您无能为力。
如果您在 UI 线程中遇到锁定和大量 CPU 可能是某些插件在 UI 线程中 运行ning 代码在后台线程中确实应该是 运行。 UI 线程中的长 运行ning 代码会使 UI 无响应。
我有一个基于 eclipse 的产品(我们添加了一些插件并将其打包为产品)。
我们有一些性能问题和不合理的锁定。
在调查 YourKit Java Profiler
期间,我注意到在每个执行的操作(展开文件夹、按下按钮、保存文件等)中,最高的 CPU 负载和最长的 CPU 使用是在一个名为 main
的线程上从 org.eclipse.equinox.launcher.Main.run(String[]) Main.java:1499
.
org.equinox.launcher
插件的版本是1.4.0.v20161219-1356
。
这是什么线程,为什么它总是 运行(它不是守护线程,显然它一直处于活动状态)?我该怎么办?
这是主要的 Eclipse 用户界面线程。它包含 SWT 显示“readAndDispatch”循环,其中 运行 所有用户界面代码。
此线程始终处于 运行 状态,对此您无能为力。
如果您在 UI 线程中遇到锁定和大量 CPU 可能是某些插件在 UI 线程中 运行ning 代码在后台线程中确实应该是 运行。 UI 线程中的长 运行ning 代码会使 UI 无响应。