我看到一个 Java 示例,它有一个标记为同步的主方法,调用另一个静态同步方法。效果是,基本上,只有在 main 方法返回后,另一个方法才在单独的线程上运行。
这样的结构有什么实用功能?
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!");
}
}