自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(7)
  • 收藏
  • 关注

转载 JDK并发包--CountDownLatch,CyclicBarrier

CountDownLatch: 可以理解为一个计数器,这个工具通常是用来控制线程等待的,比如5个人约打球,只有等人齐了之后才能开始,这种情况适合使用CountDownLatchpublic class CountDownLatchDemo implements Runnable{ static final CountDownLatch end = new Coun...

2018-11-07 22:36:00 86

转载 JDK并发包--Condition,Semaphore,ReadWriteLock

ps:从北京到杭州可以有不同的路线,这些路线就好比多个线程,在路上可能因为各种原因停停走走,这就好比是线程的等待和通知。Condition条件: 使用sychronized关键字来保证线程的同步时,需要wait()和notify()来保证线程间的通信;而使用重入锁时,则需要通过Condition来使线程等待和继续执行。 await(): 使当前线程等待,同时释放当前锁,当在其...

2018-11-05 00:22:00 95

转载 JDK并发包--重入锁

重入锁基本使用: 使用java.util.concurrent.locks.ReentrantLock 类来实现,可以替代synchronized关键字。如下例,重入锁有着显示的操作过程,开发者可以手动指定在哪里加锁,在哪里释放(退出临界区时必须释放,不然其他线程没有机会再访问了)。重入的意思是,同一个线程可以多次获得锁,同样的退出时需要多次释放。 public class ...

2018-11-03 22:13:00 88

转载 线程的基本操作(三)

volatile关键字:  修饰变量,可以保证变量的可见性,但是无法保证对变量复合操作的原子性,如: static volatile int = 0; public static class T implements Runnable{ public void run(){ for(int k=0;k&l...

2018-11-01 23:56:00 96

转载 线程的基本操作(二)

等待和通知(wait & notify) 这两个方法并不是在Thread类中的,而是输出Object类,这也意味着任何对象都可以调用这两个方法。当一个线程调用obj.wait()后,该线程就会进入obj对象的等待队列,当obj.notify()被调用时,它就会从这个等待队列中随机唤醒一个线程。 notifyAll()方法会将等待队列中的所有线程都唤醒。...

2018-10-31 22:49:00 105

转载 线程的基本操作(一)

线程的状态  线程的所有状态在Thread中的State枚举中定义 public enum State{ NEW, //刚刚新建的线程,还没有开始执行 RUNNABLE, //执行时的状态 BLOCKED, //在执行过程中遇到synchronized同步...

2018-10-30 23:09:00 109

转载 Java并行相关概念

一、并行基础  同步/异步:以购物为例,如果你去商场买东西,下单后你需要等售货员去仓库调配货物,然后付款带回家,整个过程是一条直线,这就是同步调用。如果你是网上购物,网上下单付完钱之后,对你来说购物过程就已经结束了,接下来你可以做点其他的事情,比如看电视、做饭,等着商家送货就行了,整个过程在付完钱后出现了分叉,这就是异步调用。  并发/并行:并发是指在多个任务交替执行,多个任务之...

2018-10-29 22:49:00 78

空空如也

空空如也

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

TA关注的人

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