Является ли Component.getGraphicsConfiguration поток безопасным? - PullRequest
1 голос
/ 26 марта 2009

Существует множество методов, которые не следует вызывать, если вы не участвуете в потоке событий AWT. Обычно это методы, которые каким-то образом манипулируют пользовательским интерфейсом.

Это относится к компоненту getGraphicsConfiguration (...)? Это только метод получения, но он может вызвать взаимоблокировку, если поток событий ожидает в потоке, вызывающем этот метод.

Хотя решение взаимоблокировки довольно тривиально (не используйте ожидание или синхронизацию в потоке событий), я должен вызывать только getGraphicsConfiguration в Runnable, передаваемом SwingUtilities.invokeLater (...) или invokeAndWait (...)?

1 Ответ

1 голос
/ 26 марта 2009

AWT потокобезопасность (обязательно) нарушена. Просто не подходи к нему. Оставайтесь на прямой AWT EDT

Также обратите внимание, что тот факт, что метод находится в java.awt.Component, не означает, что объект (или объект, на который он ссылается) не находится в Swing и, следовательно, на самом деле даже не претендует на поточнобезопасность вообще. (Хватит?)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...