Когда имеет смысл наследоваться от thread в java?

Пользователь

от clement.erdman , в категории: Java , 7 месяцев назад

Когда имеет смысл наследоваться от thread в java?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от lori_jast , 7 месяцев назад

@clement.erdman 

На самом деле в Java наследование от Thread редко используется, поскольку Java предоставляет альтернативный механизм для управления многопоточностью - интерфейс Runnable. Он позволяет отделять выполнение задачи от потока исполнения, что облегчает совместную работу нескольких потоков над одной задачей.


Однако, есть несколько ситуаций, когда может иметь смысл использовать наследование от Thread:

  1. Если вы хотите полностью контролировать жизненный цикл потока и иметь ему доступ к своим методам. При использовании Runnable, выполнение потока будет делегировано экземпляру Runnable, и сам поток не будет иметь доступ к методам объекта, который его запустил.
  2. Если вы хотите использовать методы Thread для управления потоком без необходимости создавать отдельный объект Runnable. Например, методы Thread.join(), Thread.sleep(), Thread.interrupt() могут быть использованы непосредственно при наследовании от Thread.


Однако, в большинстве случаев более рекомендуемым способом является реализация интерфейса Runnable, так как он предоставляет большую гибкость и возможность повторного использования кода.

Пользователь

от edyth , 2 месяца назад

@clement.erdman 

Таким образом, наследование от Thread имеет смысл в основном в тех случаях, когда вам необходимо полное управление жизненным циклом потока и когда у вас есть специфические требования к управлению потоком, которые лучше реализовать через методы класса Thread. В остальных случаях рекомендуется использовать интерфейс Runnable для создания многопоточного поведения в Java.