码迷,mamicode.com
首页 > 编程语言 > 详细

Java多线程与并发库高级应用-工具类介绍

时间:2016-11-07 07:57:52      阅读:227      评论:0      收藏:0      [点我收藏+]

标签:util   替代   output   互斥   print   string   out   如何   线程模型   

java.util.concurrent.Lock

Lock比传统线程模型中的synchronized方式更加面向对象,与生活中的锁类似,
锁本身也应该是一个对象。两个线程执行的代码片段要实现同步互斥的效果,它们必须用同一个Lock对象。

  lock替代synchronized

  

class Outputer {
        Lock lock = new ReentrantLock();
        public void output(String name) {
            int len = name.length();
            lock.lock();    
            try{
                for (int i = 0; i < len; i++) {
                    char c = name.charAt(i);
                    System.out.print(c);
                }
            }finally{
                lock.unlock();  //这里防止内部代码出现异常,即无论如何最后都会释放锁
            }
            lock.unlock();
            System.out.println();
        }
}

 

Java多线程与并发库高级应用-工具类介绍

标签:util   替代   output   互斥   print   string   out   如何   线程模型   

原文地址:http://www.cnblogs.com/wq3435/p/6037082.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!