Читая статью о многопоточности в Java, я наткнулся на следующие строки:
Считается, что наследование класса Thread следует применять только тогда, когда действительно необходимо создать «новый вид потока, который должен дополнить функциональность класса java.lang.Thread», и подобное решение применяется при разработке системного ПО, например, серверов приложений или инфраструктур.
В каких случаях может понадобиться дополнять функциональность класса Thread? Хотелось бы увидеть практический пример.
В JavaFx обновление компонентов интерфейса происходит в JavaFx потоке, т.е. в любой момент можно проверить, выполняется ли данный код в JavaFx потоке или нет. Не берусь утверждать, что этот механизм реализован именно через наследование потоков, но его можно было бы реализовать именно так. В случае JavaFx таким образом заранее запрещается разработчикам делать что либо вне JavaFx потока, чтобы предотвратить асинхронное изменение компонентов интерфейса.
Использование собственных потоков хорошо годится для тех случаев, когда вы хотите запретить выполнение определенных задач в каких-то сторонних потоках, при этом наложив на свои потоки дополнительные ограничения и функционал.
Наследовать Thread может быть полезным тогда, когда вы хотите вести учет своих потоков, вы можете создать новый класс потока, который будет регистрировать новые потоки еще на этапе конструктора. Или если вам требуется особый вид синхронизации, при котором потоки не будут запускаться по какому-нибудь событию, например ограничение по числу параллельно работающих потоков.
С другой стороны практически все связанные с потоками задачи можно реализовать не наследуя, а используя существующие инструменты пакета java.util.concurrent. Многопоточное программирование – достаточно сложная задача, потому лучше использовать готовые компоненты и решения не прибегая к написанию собственных.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Здравствуйте, нахожусь в небольшом недоуменииЕсть утилита, Inno Setup 5 Script, для того что бы запаковывать проекты в exe, очень хорошая штука(https://netbeans
Существует ли в Java под android возможность хранить ключи шифрования безопасным образом, например защищенными паролем?
Проект Maven с использованием HibernateПри запуске возникают ошибки:
Для того, чтобы скачать котировки с yahoo finance достаточно на пайтоне сделать такА как сделать тоже самое на джава?