自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(10)
  • 收藏
  • 关注

原创 JUC学习笔记(10)—线程池

public class ExecutorsDemo{ public static void main(String[] args) { ScheduledExecutorService service = Executors.newScheduledThreadPool(5); ScheduledFuture<Integer> result = null; try...

2018-07-31 22:06:28 120

原创 JUC学习笔记(9)—Semaphore

在信号量上我们定义两种操作:acquire(获取) 当一个线程调用acquire操作时,它要么通过成功获取信号量(信号量减1),要么一直等下去,直到有线程释放信号量,或超时。release(释放)实际上会将信号量的值加1,然后唤醒等待的线程。信号量主要用于两个目的,一个是用于多个共享资源的互斥使用,另一个用于并发线程数的控制。 public class SemaphoreDemo{...

2018-07-31 22:04:35 209

原创 JUC学习笔记(8)—CyclicBarrier

CyclicBarrier的字面意思是可循环(Cyclic)使用的屏障(Barrier)。它要做的事情是,让一组线程到达一个屏障(也可以叫同步点)时被阻塞,直到最后一个线程到达屏障时,屏障才会开门,所有被屏障拦截的线程才会继续干活。线程进入屏障通过CyclicBarrier的await()方法。 public class CyclicBarrierDemo{ private stat...

2018-07-31 22:00:41 195

原创 JUC学习笔记(7)—CountDownLatch

 让一些线程阻塞直到另一些线程完成一系列操作后才被唤醒。  CountDownLatch主要有两个方法,当一个或多个线程调用await方法时,这些线程会阻塞。其它线程调用countDown方法会将计数器减1(调用countDown方法的线程不会阻塞), 当计数器的值变为0时,因await方法阻塞的线程会被唤醒,继续执行。 解释:5个同学陆续离开教室后值班同学才可以关门。也即    秦灭6国,一...

2018-07-31 21:57:54 181

原创 JUC学习笔记(6)—创建线程的新方法Callable接口

public class CallableDemo{ public static void main(String[] args) throws InterruptedException, ExecutionException { FutureTask<Integer> ft = new FutureTask<Integer>(new MyThread());...

2018-07-31 21:44:57 136

原创 JUC学习笔记(5)—ReadWriteLockDemo

一个线程写入,100个线程读取import java.util.concurrent.locks.ReentrantReadWriteLock;class MyQueue{ private Object obj; private ReentrantReadWriteLock rwLock = new ReentrantReadWriteLock(); public void ...

2018-07-31 21:42:20 116

原创 JUC学习笔记(4)—多线程之间按顺序调用

多线程之间按顺序调用,实现A->B->C 三个线程启动,要求如下:AA打印5次,BB打印10次,CC打印15次   接着 AA打印5次,BB打印10次,CC打印15次    。来10轮   public class ThreadOrderAccess{ public static void main(String[] args) { ShareResource s...

2018-07-31 21:39:34 348

原创 JUC学习笔记(3)—Lock锁

一个对象里面如果有多个synchronized方法,某一个时刻内,只要一个线程去调用其中的一个synchronized方法了,其它的线程都只能等待,换句话说,某一个时刻内,只能有唯一一个线程去访问这些synchronized方法锁的是当前对象this,被锁定后,其它的线程都不能进入到当前对象的其它的synchronized方法 加个普通方法后发现和同步锁无关换成两个对象后,不是同一把锁了,情况立刻...

2018-07-31 21:36:38 200

原创 JUC学习笔记(2)—线程间通信

import java.util.concurrent.locks.Condition;import java.util.concurrent.locks.Lock;import java.util.concurrent.locks.ReentrantLock;class ShareData{ private int number = 0; private Lock lock = ...

2018-07-31 21:31:33 216

原创 JUC学习笔记(1)—ReentrantLock

import java.util.concurrent.locks.Lock;import java.util.concurrent.locks.ReentrantLock;class Ticket//资源类 类 = 实例变量+实例方法{ private int number = 30; //Lock implementations provide more extensi...

2018-07-31 21:27:22 167

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除