Java. Урок 9. Потоки ввода-вывода в Java, сжатие, шифрование
Одна строка Java-кода заблокировала 102 потока
Сервис отчётов на 800 запросов/с начал тормозить, но алерты молчали. Дамп потоков показал: все 102 потока висят на блокировке URLClassPath из-за DatatypeFactory.newInstance(). Фабрика дат XML каждый раз сканировала JAR'ы через ServiceLoader, синхронизируясь в getLoader()...
Java 206. Что такое и зачем устанавливать потоки-демоны?
Поток-демон в Java - это специальный тип потока, который работает в фоновом режиме и не мешает завершению программы. Если все оставшиеся потоки в программе являются демонами, то JVM автоматически завершит программу и выйдет. Установка потока как демона происходит с помощью метода setDaemon(boolean on) класса Thread. Поток должен быть установлен как демон до его запуска, иначе будет вызвано исключение IllegalThreadStateException. Демоны используются для выполнения задач, которые могут быть прерваны в любой момент без последствий для целостности данных или состояния программы...