Android 线程管理之 CountDownLatch(闭锁)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/a_Chaon/article/details/78184984

好了,废话不多说;

首先什么是CountDownLatch :

CountDownLatch,一个线程同步管理类,在完成一组正在其他线程中执行的操作之前,它允许一个或多个线程一直等待。

其本身带有的主要方法:

public CountDownLatch(int count);
public void await() throws InterruptedException
public void countDown();

首先第一个:
public CountDownLatch(int count);
这个方法的意思是要管理几个线程,并得到一个CountDownLatch实例,其参数 count 的数量就决定着要开启几个线程。

第二个:
public void await() throws InterruptedException

这个方法看名字大家就可以猜的出来,是等待方法, 当执行此方法时, 那么其余线程和都必须等待countDown的数量变0,然后开始执行。

public void countDown();

这个方法主要是减去线程数量, 举个栗子, 你在此线程使用了await,那什么时候取消呢?如果取消(释放)则用到了这个方法,这个方法执行一次,那么总数(构造方法中的参数count)就会减去1, 直到构造参数是0时,该管理器结束,不再闭锁其他线程。
latch.countDown(); 建议放在 finally里执行,不然小心造成死锁。

你以为会有示例代码?

不,没有!

再见! 

        联系Q 7641436
展开阅读全文

没有更多推荐了,返回首页