And*_*ili 3 java multithreading java-threads
我有以下关于声明主方法同步的dount .
所以阅读这个讨论: 声明主方法同步
我可以读到:
同步可防止多个实例同时执行,这可能是合乎需要的.
那究竟是什么意思呢?
我试着做一个例子:
我有一个非常小的批处理应用程序,可以在数据库上执行一些操作.该应用程序主要由main()方法组成.我编译了一个可以执行的.jar文件.
这意味着将此main()方法声明为同步我不能同时运行此jar文件的2个实例?或者我错过了什么?
不,那是不可能的.同步仅在同一程序执行中有效.如果你启动一个jar两次,它会启动两个不同的程序执行,每个程序都有自己的地址空间,它们不共享任何对象或内存.
如果要防止同一程序的多次执行,则需要具有外部锁定功能,例如锁定文件.