invokeLater() Runnable에서 동시성을 보장 할 필요가 있는지 궁금합니다.Java Swing EDT 및 동시성
교착 상태가 발생하여 동시성을 유지하면서이를 극복해야합니다.
이 좋은 코드?
이private String text;
private void updateText()
{
SwingUtilities.invokeLater(new Runnable()
{
public void run()
{
synchronized(FrameImpl.this)
{
someLabel.setText(text);
}
}
});
}
오히려 나쁜 예를 들어 미안하지만, 우리가 text
가 다른 스레드에 의해 수정되고 있음을 가정해야 주입 할 수없는 예 수,과에 의존시겠습니까 올바른 값.
이 방법이 적합한가요? 아니면 알 수없는 컨텍스트에 동기 코드를 보내서 의도하지 않게 교착 상태 문제가 발생합니까?
감사합니다.
지금
이것은 작동하지 않습니다. 모달 JPanel에서. – YumYumYum
@YumYumYum : 자세히 설명해 주시겠습니까? 작동하지 않는 것은 무엇입니까? –