战狂粗人张

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
上一页 1 ··· 5 6 7 8 9 10 11 12 13 ··· 23 下一页

2020年5月14日

摘要: 一.Semaphore是什么 Semaphore 是一个计数信号量,必须由获取它的线程释放。用于管理一组资源,内部是基于AQS的共享模式。它相当于给线程规定一个量从而控制允许活动的线程数。 Semaphore 是 synchronized 的加强版,作用是控制线程的并发数量。就这一点而言,单纯的sy 阅读全文
posted @ 2020-05-14 18:23 战狂粗人张 阅读(227) 评论(0) 推荐(0) 编辑

摘要: 一.CyclicBarrier是什么 CyclicBarrier是一个同步工具类,它允许一组线程互相等待,直到到达某个公共屏障点。 与CountDownLatch不同的是该barrier在释放等待线程后可以重用,所以称它为循环(Cyclic)的屏障(Barrier)。 CyclicBarrier支持 阅读全文
posted @ 2020-05-14 17:15 战狂粗人张 阅读(210) 评论(0) 推荐(0) 编辑

摘要: 一.CountDownLatch是什么 CountDownLatch是一个同步工具类,用来协调多个线程之间的同步,它允许一个或多个线程等待直到在其他线程中一组操作执行完成。 latch是门闩的意思,CountDown是倒数计数的意思。 CountDownLatch能够使一个线程在等待另外一些线程完成 阅读全文
posted @ 2020-05-14 16:03 战狂粗人张 阅读(221) 评论(0) 推荐(0) 编辑

摘要: 一.BlockingQueue是什么 BlockingQueue即阻塞队列,从阻塞这个词可以看出,在某些情况下对阻塞队列的访问可能会造成阻塞。 被阻塞的情况主要有如下两种: (1)当队列满了的时候进行入队列操作; (2)当队列空了的时候进行出队列操作; java.util.concurrent 包里 阅读全文
posted @ 2020-05-14 11:43 战狂粗人张 阅读(179) 评论(0) 推荐(0) 编辑

2020年5月13日

摘要: 一.ThreandLocal是什么 ThreadLocal叫做线程变量,意思是ThreadLocal中填充的变量属于当前线程,该变量对其他线程而言是隔离的。早在JDK 1.2的版本中就提供java.lang.ThreadLocal。 ThreadLocal是一个关于创建线程局部变量的类。Thread 阅读全文
posted @ 2020-05-13 18:05 战狂粗人张 阅读(219) 评论(0) 推荐(0) 编辑

摘要: 一.ReadWriteLock是什么 ReadWriteLock是一个接口,提供了readLock和writeLock两种锁的操作机制,一个是只读的锁,一个是写锁。 读锁可以在没有写锁的时候被多个线程同时持有,写锁是独占的(排他的)。 每次只能有一个写线程,但是可以有多个线程并发地读数据。 所有读写 阅读全文
posted @ 2020-05-13 15:35 战狂粗人张 阅读(212) 评论(0) 推荐(0) 编辑

摘要: 一.ReentrantLock是什么 ReentrantLock是一个可重入的互斥锁(Reentrant就是再次进入的意思),又被称为“独占锁”。它添加了类似锁投票、定时锁等候和可中断锁等候的一些特性。 ReentrantLock在同一个时间点只能被一个线程获取(当某线程获取到“锁”时,其它线程就必 阅读全文
posted @ 2020-05-13 11:08 战狂粗人张 阅读(182) 评论(0) 推荐(0) 编辑

2020年5月12日

摘要: 一.Condition是什么 关键字synchronize可以与wait()和nitify()方法相结合实现实现等待/通知模式,类ReentrantLock也可以实现同样的功能,但需要借助condition对象。 Java里 sychronized和Lock+Condtion 都属于管程模型,Con 阅读全文
posted @ 2020-05-12 17:11 战狂粗人张 阅读(226) 评论(0) 推荐(0) 编辑

摘要: 一.内存模型的相关概念 计算机在执行程序时,每条指令都是在CPU中执行的,而执行指令过程中,势必涉及到数据的读取和写入。 由于程序运行过程中的临时数据是存放在主存(物理内存)当中的,这时就存在一个问题,由于CPU执行速度很快, 而从内存读取数据和向内存写入数据的过程跟CPU执行指令的速度比起来要慢的 阅读全文
posted @ 2020-05-12 16:17 战狂粗人张 阅读(206) 评论(0) 推荐(0) 编辑

摘要: 一.wait/notity的使用 wait()方法可以使线程进入等待状态,而notify()可以使等待的状态唤醒。 这样的同步机制十分适合生产者、消费者模式:消费者消费某个资源,而生产者生产该资源。 当该资源缺失时,消费者调用wait()方法进行自我阻塞,等待生产者的生产;生产者生产完毕后调用not 阅读全文
posted @ 2020-05-12 12:15 战狂粗人张 阅读(251) 评论(0) 推荐(0) 编辑

上一页 1 ··· 5 6 7 8 9 10 11 12 13 ··· 23 下一页