【Java】Java高并发之BlockingQueue

Java高并发之BlockingQueue

入门小站发布于 46 分钟前

简介

【Java】Java高并发之BlockingQueue

  • 当对列满时,进行入队操作时。当一个线程试图对一个已经满了的队列进行入队操作时,也将会被阻塞,除非有一个线程进行了出队列操作。
  • 当队列空时,进行出队操作时。当一个线程试图对一个为空的队列进行出队列操作时,也将会被阻塞,费油有一个线程进行了出队列操作。

public interface BlockingQueue<E> extends Queue<E> {}

public interface Queue<E> extends Collection<E> {}

Throws ExceptionSpecial ValueBlocksTimes Out
insertadd(o)offer(o)put(o)offer(o,timeout,timeunit)
removeremove(o)poll()take()poll(timeout,timeunit)
examineelement()peek()not applicablenot applicable

  • Throws Exception:抛出异常。如果不能马上进行,则抛出异常。
  • Special Value:如果不能马上进行,则返回特殊值,一般是True或False
  • Blocks:如果不能马上进行,则操作会被阻塞,直到这个操作成功
  • Times Out:如果不能马上进行,操作会被阻塞指定的时间。如果指定时间还未执行,则返回特殊值,一般是True或False。

BlockingQueue具体实现类

  • ArrayBlockingQueue
  • LinkedBlockingQueue
  • DelayQueue
  • PriorityBlockingQueue
  • SynchronousQueue

关注微信公众号:【入门小站】,解锁更多知识点。

【Java】Java高并发之BlockingQueue

java多线程

阅读 22发布于 46 分钟前

本作品系原创,采用《署名-非商业性使用-禁止演绎 4.0 国际》许可协议

avatar

入门小站

rumenz.com

41 声望

2 粉丝

0 条评论

得票时间

avatar

入门小站

rumenz.com

41 声望

2 粉丝

宣传栏

简介

【Java】Java高并发之BlockingQueue

  • 当对列满时,进行入队操作时。当一个线程试图对一个已经满了的队列进行入队操作时,也将会被阻塞,除非有一个线程进行了出队列操作。
  • 当队列空时,进行出队操作时。当一个线程试图对一个为空的队列进行出队列操作时,也将会被阻塞,费油有一个线程进行了出队列操作。

public interface BlockingQueue<E> extends Queue<E> {}

public interface Queue<E> extends Collection<E> {}

Throws ExceptionSpecial ValueBlocksTimes Out
insertadd(o)offer(o)put(o)offer(o,timeout,timeunit)
removeremove(o)poll()take()poll(timeout,timeunit)
examineelement()peek()not applicablenot applicable

  • Throws Exception:抛出异常。如果不能马上进行,则抛出异常。
  • Special Value:如果不能马上进行,则返回特殊值,一般是True或False
  • Blocks:如果不能马上进行,则操作会被阻塞,直到这个操作成功
  • Times Out:如果不能马上进行,操作会被阻塞指定的时间。如果指定时间还未执行,则返回特殊值,一般是True或False。

BlockingQueue具体实现类

  • ArrayBlockingQueue
  • LinkedBlockingQueue
  • DelayQueue
  • PriorityBlockingQueue
  • SynchronousQueue

关注微信公众号:【入门小站】,解锁更多知识点。

【Java】Java高并发之BlockingQueue

以上是 【Java】Java高并发之BlockingQueue 的全部内容, 来源链接: utcz.com/a/105951.html

回到顶部