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

Posted wq3435

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java多线程与并发库高级应用-工具类介绍相关的知识,希望对你有一定的参考价值。

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多线程与并发库高级应用-工具类介绍的主要内容,如果未能解决你的问题,请参考以下文章

Java多线程与并发库高级应用-同步集合

Java多线程同步集合--并发库高级应用

Java多线程与并发库高级应用

Java多线程与并发库高级应用-java5线程并发库

线程高级应用-心得8-java5线程并发库中同步集合Collections工具类的应用及案例分析

(黑马Java多线程与并发库高级应用)05 线程范围内共享变量的概念与作用