java线程

1、java阻塞队列BlockingQueue:
BlockingQueue继承自Queue接口,增加阻塞控制的pool,take,offer,put方法。原有没有时间参数的pool,offer方法只能即时返回,并不阻塞。

具体实现类有ArrayBlockingQueue,LinkedBlockingQueue和SynchronousQueue。

ArrayBlockiingQueue基于数组的先进先出队列,可以设置队列大小,在队列满时可以进行阻塞,并可以进行指定时间的阻塞。

pool/offer方法,指定时间参数。当队列满/空时,如果超过指定时间,则返回false。否则,调用wait方法进行等待知道超时或者被唤醒。如果线程被Interrupted,则直接抛出InterruptException.

ArrayBlockingQueue和LinkedBlockingQueue在锁控制方面的区别在于前者只用一把锁进行读写控制。而后者则有两把锁分别进行控制。但是在删除操作时,两把锁还是需要同时锁上。

SynchronousQueue比较特别,内部没有队列进行缓冲。一个pool操作,对应需要另一个线程执行offer/put操作才能返回true。也即是入列、出列必须是两个线程同步进行。


http://blog.csdn.net/u011393661/article/details/17561823   ---Java多线程编程总结   --博客

http://blog.csdn.net/ghsau/article/category/1707779   ----java多线程

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值