线程同步的方法

 

1使用synchronized关键字,比如在方法上加上synchronized,也就是给临界区加锁。

2使用JUCjava.util.concurrent工具类

 比如CountDownLatch减到一定数释放锁,主要方法有awaitcountDown方法

还有CyclicBarrier,让一组线程到达一个屏障(也可以叫同步点)时被阻塞,直到最后一个线程到达屏障时,屏障才会开门,所有被屏障拦截的线程才会继续干活,线程进入屏障通过CyclicBarrierawait()方法。是增加的。

最后是Semaphore,信号量主要用于两个目的,一个是用于多个共享资源的互斥使用,另一个用于并发线程数的控制。简单的说就是抢车位,30个人来抢20个车位。就要进行资源互斥控制。主要方法有acquire()和release()方法。

posted @ 2020-05-13 22:16  北城cheng  阅读(135)  评论(0编辑  收藏  举报