Что такое поток диспетчера сигналов Java? - PullRequest
9 голосов
/ 25 октября 2008

Я просматривал дамп потока процесса Java и заметил, что некоторые потоки заблокированы диспетчером сигналов.

Что такое диспетчер сигналов? Что это делает?

Ответы [ 2 ]

8 голосов
/ 25 октября 2008

Я нашел статью об этом на IBM developerWorks. Когда ОС выдает сигнал в JVM, поток диспетчера сигналов передает сигнал соответствующему обработчику

Откровения по обработке и завершению сигналов Java Крис Уайт, инженер-программист, IBM

4 голосов
/ 25 октября 2008

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

На тангенциальном примечании: если вы Linux и ваша JVM загружает собственную библиотеку, которая вставляет свои собственные обработчики сигналов, вам потребуется предварительно загрузить libjsig.so . Я обнаружил трудный путь, когда сторонняя сетевая библиотека периодически прерывает мои соединения неверно направленными sigpipes.

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