在Java中同步其他对象

这个问题在这里已经有了答案:

  • 避免在Java中同步(this)? 18个答案

  • 无论哪种方式都很好。 有设计理由使用你的对象作为锁,并且有设计理由让你的锁保持私密。

    我要做的唯一批评就是Object通常被用作Java中的锁,你不必发明一个虚拟类。

    public class MsLunch {
        private long c1 = 0;
        private long c2 = 0;
        private final Object lock1 = new Object();
        private final Object lock2 = new Object();
    
        public void inc1() {
            synchronized(lock1) {
                c1++;
            }
        }
    
        public void inc2() {
            synchronized(lock2) {
                c2++;
            }
        }
    }
    
    链接地址: http://www.djcxy.com/p/76261.html

    上一篇: Synchronizing on other objects in java

    下一篇: Synchronization on object, java