java 并发编程
qq_26496877
这个作者很懒,什么都没留下…
展开
-
synchronized 与 ReentrantLock 的区别
多线程和并发性并不是什么新内容,但是 Java 语言设计中的创新之一就是,它是第一个直接把跨平台线程模型和正规的内存模型集成到语言中的主流语言。核心类库包含一个 Thread 类,可以用它来构建、启动和操纵线程,Java 语言包括了跨线程传达并发性约束的构造 —— synchronized 和 volatile 。在简化与平台无关的并发类的开发的同时,它决没有使并发类的编写工作变得更转载 2017-04-25 16:53:11 · 171 阅读 · 0 评论 -
ThreadLocal类与Synchonized对象锁的区别
package com.brook.demo.threalocal;import java.util.Random;public class ThreadLocalDemo { public static void main(String[] args) { School school = new School(); Thread thread = new Th转载 2017-10-07 18:17:53 · 1443 阅读 · 0 评论 -
java 并发编程的几个工具类
1.CountDownLatch(倒计时器)适用于一个主线程在等待其他几个线程执行结果的应用场景。(比如一主多重)当CountDownLatch维护的计数器为零的时候,调用await方法的线程才会执行,否则一直阻塞2.CyclicBarrier(CyclicBarrier)3.CountDownLatch和CyclicBarrier的异同...原创 2018-06-15 00:26:09 · 516 阅读 · 0 评论 -
异步同步,阻塞和非阻塞
劫匪冲进某花园小别墅,端着AK47,向某衰男甩过去一个袋子:说,快,把现金拿出来给我放进去,这个时候劫匪一直跟着衰男去装钱,看钱装满了他就拿走,此时劫匪是阻塞 的,因为劫匪不能干其他的,得看着这个衰男,免得他搞鬼。 想象下,如果劫匪等衰男自己去装钱,在钱装满之前,他自己可以到处翻箱倒柜,找点值钱的首饰黄金之类的,那么这个时候劫匪就是非阻塞 的,因为劫匪并没有阻塞在衰男去装钱这个环节上,劫匪可以...转载 2018-06-30 11:25:15 · 548 阅读 · 0 评论 -
生产者消费者
public class ProductTest { public static void main(String[] args) { Clerk clerk = new Clerk(); Thread producerThread = new Thread(new Producer(clerk)); Thread...转载 2018-06-30 22:01:19 · 165 阅读 · 0 评论