信号量:java.util.concurrent.Semaphore 使用方法和synchronized关键字类似,区别在于前者可以同时允许规定数量的线程执行,而后者对于不同的线程是互斥的,Semaphore 可以提供公平和不公平锁
synchronized关键字同lock的区别:
lock在性能上较好,切支持公平锁和非公平锁
对于wait()方法,lock提供了condition可以实现和synchronized关键字类似的操作,而且可以提供更精确的临界区操作。除了默认的lock,还有ReadWriteLock,适合于写比较少,读比较多的情况。
Exchenge