我正在编写一个Eclipse RCP应用程序,其中多个线程将通过GUI中自己的进度条更新用户的进度。我被告知要允许每个人单独更新自己的进度条,可能会导致共享资源发生冲突(我认为Shell之类的进度条之一)。这是真的吗?
有人向我建议我创建了一个带有synchronized方法的中间类,这些方法将充当来自线程的更新调用的序列化漏斗。这是一个解决方案吗?你能提供更好的解决方案吗?
答案 0 :(得分:2)
实际上很容易。无论何时需要从任何线程更新进度条,都要将更新代码包含在
中display.asyncExec(new Runnable() { .... });