В моем приложении Java SWT я часто хочу возвращать информацию из вызова Display.syncExec(). Лучший способ я нашел до сих пор сделать это:Каков наилучший способ возврата переменных из syncExec?
final ArrayList<Integer> result = new ArrayList<Integer>();
GUI.display().syncExec(new Runnable(){ public void run() {
MessageBox mb = /* ... */;
/* set up messagebox */
result.add(mb.open());
}});
if (SWT.OK == result.get(0)) { /* ... */ }
Я думаю, что это разрешено, потому что ArrayList потокобезопасно, но есть лучший контейнер, я должен использовать, или простой способ в целом?
Вы правы, но на самом деле это не так важно, потому что блоки .syncExec. – SCdF 2008-09-16 20:23:01