`
cesymm
  • 浏览: 29188 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

线程同步辅助类

 
阅读更多
CountDownLatch


private CountDownLatch latch = new CountDownLatch(1); 
 
    /**
     * 连接zookeeper
     */ 
    public void connectZookeeper() throws Exception { 
        zk = new ZooKeeper(hosts, SESSION_TIMEOUT, new Watcher() { 
            public void process(WatchedEvent event) { 
                try { 
                    // 连接建立时, 打开latch, 唤醒wait在该latch上的线程 
                    if (event.getState() == KeeperState.SyncConnected) { 
                        latch.countDown(); 
                    } 
 
                    // 发生了waitPath的删除事件 
                    if (event.getType() == EventType.NodeDeleted && event.getPath().equals(waitPath)) { 
                        doSomething(); 
                    } 
                } catch (Exception e) { 
                    e.printStackTrace(); 
                } 
            } 
        }); 
 
       // 等待连接建立 
        latch.await(); 
分享到:
评论

相关推荐

    MarsNote:记事本Demo,有图文混排,桌面Widget等开发,有线程池和线程同步辅助类的使用

    火星笔记由 mars_ma 部署

    Java 7并发编程实战手册

    第3章 线程同步辅助类 77 3.1 简介 77 3.2 资源的并发访问控制 78 3.3 资源的多副本的并发访问控制 83 3.4 等待多个并发事件的完成 87 3.5 在集合点的同步 91 3.6 并发阶段任务的运行 100 3.7...

    [『辅助』] 易编远航第一期-六套大漠多线程中级进阶视频教程

    使用同步器作为多线程中级教材,主要是对上一套初级教程做一个简单的总结, 并且对接下来脚本的线程处理,及监控线程起到一个较高的实际认知。 对多线程基 础及后续多线程课程有承前启后的作用 主要学习内容: 1....

    Java中的5种同步辅助类介绍

    你提交了一些任务,但你想等它们都完成了再做另外一些事情;你提交了一些任务,但是不想让它们立刻执行,等你喊123开始的时候,它们才开始执行;等等这些场景,线程之间需要相互...这些场景想你就需要用到同步辅助类

    CountDownLatchDemo

    这是一个对于Java CountDownLatch的简单Demo CountDownLatch一个同步辅助类 在完成一组正在其他线程中执行的操作之前 它允许一个或多个线程一直等待 用给定的计数 初始化 CountDownLatch 由于调用了 countDown 方法 ...

    ios多线程编程指南

     “同步(Synchronization)” 介绍同步问题和你可以用于阻止多线程破坏你 的数据或者导致你程序崩溃的工具。  “线程安全总结” 提供了 Mac OS X 和 iOS 上面固有的线程安全的高度总结 和它们的主要框架

    Intel.Thread.Profiler.英特尔_.线程档案器4

    <br>通过双击时间轴视图上的转换进入源代码视图,从而准确查看线程在源代码中进行转换工作的位置 <br>发现并行性能问题: <br>●发现影响性能的线程和同步对象 ●查看线程任务分配,准确定位负载失衡...

    JAVA CyclicBarrier类详解.docx

    一个同步辅助类,它允许一组线程互相等待,直到到达某个公共屏障点 (common barrier point)。在涉及一组固定大小的线程的程序中,这些线程必须不时地互相等待,此时CyclicBarrier很有用。因为该barrier在释放等待...

    讲给女朋友听的java多线程(2万字深入理解多线程,有实例代码辅助理解)

    使用线程池线程的调度线程的生命周期线程同步1. 方法一:同步代码块2. 方法二:同步方法3. 方法三:Lock(锁):4. 对比三种方法5. 典型例题6. 线程死锁问题线程通信两个方法sleep()方法和wait()典型例题 读完本文...

    Intel.Thread.Profiler.英特尔®.线程档案器

    <br>通过双击时间轴视图上的转换进入源代码视图,从而准确查看线程在源代码中进行转换工作的位置 <br>发现并行性能问题: <br>●发现影响性能的线程和同步对象 ●查看线程任务分配,准确定位负载失衡...

    Java多线程开发之CyclicBarrier

     CyclicBarrier是一个同步辅助类,它允许一组线程互相等待,直到到达某个公共屏障点 (common barrier point)。在涉及一组固定大小的线程的程序中,这些线程必须不时地互相等待,此时 CyclicBarrier 很有用,其相当...

    Intel.Thread.Profiler.英特尔_.线程档案器9

    <br>通过双击时间轴视图上的转换进入源代码视图,从而准确查看线程在源代码中进行转换工作的位置 <br>发现并行性能问题: <br>●发现影响性能的线程和同步对象 ●查看线程任务分配,准确定位负载失衡...

    Intel.Thread.Profiler.英特尔_.线程档案器11

    <br>通过双击时间轴视图上的转换进入源代码视图,从而准确查看线程在源代码中进行转换工作的位置 <br>发现并行性能问题: <br>●发现影响性能的线程和同步对象 ●查看线程任务分配,准确定位负载失衡...

    Intel.Thread.Profiler.英特尔_.线程档案器7

    <br>通过双击时间轴视图上的转换进入源代码视图,从而准确查看线程在源代码中进行转换工作的位置 <br>发现并行性能问题: <br>●发现影响性能的线程和同步对象 ●查看线程任务分配,准确定位负载失衡...

    Intel.Thread.Profiler.英特尔_.线程档案器6

    <br>通过双击时间轴视图上的转换进入源代码视图,从而准确查看线程在源代码中进行转换工作的位置 <br>发现并行性能问题: <br>●发现影响性能的线程和同步对象 ●查看线程任务分配,准确定位负载失衡...

    Intel.Thread.Profiler.英特尔_.线程档案器5

    <br>通过双击时间轴视图上的转换进入源代码视图,从而准确查看线程在源代码中进行转换工作的位置 <br>发现并行性能问题: <br>●发现影响性能的线程和同步对象 ●查看线程任务分配,准确定位负载失衡...

    Intel.Thread.Profiler.英特尔_.线程档案器10

    <br>通过双击时间轴视图上的转换进入源代码视图,从而准确查看线程在源代码中进行转换工作的位置 <br>发现并行性能问题: <br>●发现影响性能的线程和同步对象 ●查看线程任务分配,准确定位负载失衡...

    Intel.Thread.Profiler.英特尔_.线程档案器8

    <br>通过双击时间轴视图上的转换进入源代码视图,从而准确查看线程在源代码中进行转换工作的位置 <br>发现并行性能问题: <br>●发现影响性能的线程和同步对象 ●查看线程任务分配,准确定位负载失衡...

Global site tag (gtag.js) - Google Analytics