Я видел пример Java, который имел основной метод, помеченный как синхронизированный, вызывая другой статический синхронизированный метод. Эффект заключается в том, что в основном другой метод работает в отдельном потоке только после возврата основного метода.Объявление основного метода синхронизации
Какая практическая функциональность имела бы такая конструкция?
public class SynchronisedMain {
public static synchronized void main(String[] args) throws InterruptedException {
new Thread(new Runnable() {
@Override
public void run() {
thingy();
}
}).start();
System.out.println("Kickstarted thingy thread.");
TimeUnit.MILLISECONDS.sleep(1000);
}
public static synchronized void thingy() {
System.out.println("Thingy!");
}
}
Конечно, надуманный. Если это было «действительно» необходимо, потяните этот метод в новый метод с другим именем. – tjg184