我面临有关Java方法同步的问题.希望我可以简要解释一下:
我在两个不同的类中,在两个不同的包中有两个不同的方法.就像是:
Package1
|_Class1
\MethodA
Package2
|_Class2
\MethodB
好的,所以现在我需要同步这两个不是线程的方法.到目前为止,我有两种不同的方法:
共享信号量.
在Package1和Package2外部创建一个共享的静态信号量,如下所示:
package Package3;
public class SemaphoreClass {
public static Semaphore;
}
无论如何,我真的不知道JVM是否会将其视为共享信号量.
已同步(SharedClass.class).
使用共享类来同步这两个方法,例如:
public void MethodA() {
synchronized (SharedClass.class) {
//...
}
和
public void MethodB() {
synchronized (SharedClass.class) {
//...
}
无论如何,这些只是方法.我想听听什么是实现我想要实现的最佳方法.具有JVM的共享信号量会使事情变得更容易,但是,我知道必须为此提供解决方案.提前致谢.