原因:
有时候我们用的第三方SDK是一个回调函数,这样我们就不得不不把代码写在这些回调函数里,这样的写法其实很糟糕,至少扰乱了我们的逻辑。本身我们写的就是一个线程,第三方SDK又做了一个线程,我们又不知道什么时候回调函数触发,最简单的办法就是线程等待,然后再回调的时候调用停止等待,这也就是用CountDownLatch的作用了。
解决方案:
昨天无意间重构了下自己的网络框架,我的框架是要求在线程里只做数据解析,然后在handler里做逻辑处理,这样能保证手机流畅度。可是结果却不令人满意啊,因为我要知道融云的登录是否成功,之后才能在handler里处理,所以就想到了JAVA的这个函数CountDownLatch。
用法: