Мне просто интересно, нужно ли по-прежнему обеспечивать синхронность в invokeLater () Runnable.
Я сталкиваюсь с тупиком и мне нужно преодолеть его при сохранении параллелизма.
Было быпример хорошего кода?:
private String text;
private void updateText()
{
SwingUtilities.invokeLater(new Runnable()
{
public void run()
{
synchronized(FrameImpl.this)
{
someLabel.setText(text);
}
}
});
}
Извините за довольно плохой пример, но мы должны предположить, что text
модифицируется разными потоками, не может быть введен и зависит от правильного значения.
Это правильное решение или я непреднамеренно создаю проблему взаимоблокировки, отправляя синхронизированный код в неизвестный контекст ..?
Спасибо.