検索

ホームページ  >  に質問  >  本文

java - LinkedBlockingQueue 阻塞问题

当用LinkedBlockingQueue的take()方法获取队列信息时

一旦队列为空,则进入阻塞状态

再往队列里put()元素,take()方法会自动获取新加入元素,还是始终保持阻塞状态?

伊谢尔伦伊谢尔伦2770日前1032

全員に返信(4)返信します

  • PHP中文网

    PHP中文网2017-04-18 09:46:43

    自動取得、ブロックなし

    返事
    0
  • 伊谢尔伦

    伊谢尔伦2017-04-18 09:46:43

    まだブロックされている場合、このクラスは何に使えますか?

    返事
    0
  • 巴扎黑

    巴扎黑2017-04-18 09:46:43

    ソースコードを見ることをお勧めします。非常に有益であることがわかります

    返事
    0
  • 伊谢尔伦

    伊谢尔伦2017-04-18 09:46:43

    @wxmimperio あなたが採用した答えは間違っています。 ConcurrentLinkedQueue は非ブロッキングですが、LinkedBlockingQueue はブロッキングです。次のようなコードをそれぞれ提供します:

    リーリー

    しかし、ノンブロッキング ConcurrentLinkedQueue を見てください

    リーリー

    返事
    0
  • キャンセル返事