Java的concurrent包里面的countdownlatch看作是一个计数器,这个计数器的操作是原子操作,同时只能有一个线程去操作这个计数器,也就是同时只能有一个线程去减这个计数器里面的值。任何调用这个对象上的await方法都会阻塞,知道这个计数器的计数值被其他的线程减为0为止;也就是必须等待其他的任务执行完毕之后那个对象才可以往下执行,假如我们这个想要继续往下执行的任务调用一个CountDownLatch对象的await()方法,这个调用await()方法的任务将一直阻塞等待,其他的任务执行完自己的任务后调用同一个CountDownLatch对象上的countDown()方法,直到这个CountDownLatch对象的计数值减到0为止。
Countdownlatch原理
最新推荐文章于 2025-05-15 19:12:57 发布