自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

刘岚乔月的博客

记录下平时用到知识

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

原创 futureTask

FutureTask可以把它当作是闭锁的一种(FutureTask的实现描述了一个抽象的可携带结果的计算)。 FutureTask的通过Callable实现的(带返回值的Runnable),并且有3个状态:等待、运行和完成。 完成包括:正常结束、取消和异常。一旦FutureTask进入完成状态,它会永远停止在这个状态上。 boolean cancel(boolean mayInterru

2018-01-24 22:49:39 148

原创 ExecutorCompletionService

ExecutorCompletionService 当你需要使用Executor执行一个批量处理的任务,并且希望有返回值时,可能会使用Future不断的判断是否已经完成。 现在有一个更好的方案就是CompletionService,它整合了Executor和BlockingQueue的功能。 Future submit(Callable task); Future take() throw

2018-01-24 22:47:57 288

原创 CyclicBarrier

CyclicBarrier类似于闭锁,它能够阻塞一组线程直到某个事件发生。 它与闭锁主要的区别在于,所有线程必须同时到达一个点,才能继续执行。 闭锁等待的是事件,是等待countDown()执行之后,之前等待的线程才可能继续执行。 栅栏是线程之间相互等待,然后同时到达一个点后在一起执行(可以中断、超时)。 public CyclicBarrier(int parties) {    

2018-01-24 22:47:11 117

原创 CountDownLatch

一个概念闭锁 一个闭锁就像一道大门,直到闭锁达到终点状态之前,门一直是关闭的,没有线程可以通过,在到达终点状态时,门是打开的,允许所有线程通过。 CountDownLatch是一种同步工具|是一个灵活的闭锁,允许一个或多个线程等待一个或一组事件的发生。 构造器方法中提供的数值实际上就是闭锁需要等待的线程数量,这个计数器值只能被设置一次,而CountDwonLatch没有提供任何机制去重新设置

2018-01-24 22:46:30 114

原创 乐观所、悲观锁

悲观锁 具有排他性,在读取数据后,会在这条数据上加锁,其他用户是操作不了这条数据的。 一般用于事务较短,并发不大的场景。 乐观锁 其实是一种思想,每次读取数据的时候不会加锁,但是在进行更新操作的时候,需要判断 在次之前数据是否被更改过(可以使用版本号等方法),如果数据已经被更改了则拒绝本次 更新操作,在最新的数据之后进行重试。 例如: 使用自增长的整数表示数据版本号。更新时

2018-01-24 22:45:18 138

原创 String

String 相信大家都不会陌生,几乎每天都会用到,那么你真的了解它吗?一起看看下面的例子来确认下你是否正的了解它。

2017-03-19 13:04:22 214

空空如也

空空如也

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

TA关注的人

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