RAP事件处理程序中的线程安全性

时间:2015-03-26 07:42:36

标签: eclipse-rap

我有一个RAP(2.3.1)应用程序,用户可以单击按钮,面板会自动更新。但是,如果用户在按钮上多次单击(或者网络/更新在服务器上花费的时间较长),则应用程序有时会因错误的线程访问而导致崩溃或出错#34;我猜这是由于多次点击,按钮的选择处理程序在多个线程上运行。更新本身是更新GUI元素的串行过程(即没有asyncExec或其他东西)。

我希望RAP能够序列化对用户会话的访问权限,但显然它并没有。是否有我需要更改的设置,或者我必须在我的应用程序中手动同步事件处理程序(或所有事件处理程序)?

1 个答案:

答案 0 :(得分:2)

RAP中的UI请求已同步(see here),并保证在同一UI线程中执行。

非法线程访问只是通过单击Button太快而无法激发。问题必须出在选择侦听器触发的代码中。你能发一个最小的片段来重现这个问题吗?