Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
используйте lock object, если есть хотя бы потенциальная возможность что на объекты вашего класса будет синхронизоваться кто-то кроме Вас
There are two ways to create a new thread of execution. One is to declare a class to be a subclass of Thread. This subclass should override the run method of class Thread. An instance of the subclass can then be allocated and started.<...>Нигде не написано, что такой способ устарел или его следует избегать. Ну и по факту конкретно с тредами особой разницы нет (ну если не заниматься извратом, описанным автором — использовать wait/notify для объекта, который полностью не контролируешь). А Composition over Inheritance — это не принцип, а техника. Её можно использовать или нет, но «нарушить» нельзя. Техника хорошая, но нужна не повсеместно.
Пятничная история про synchronized-методы в классе Thread