Java BlockingQueue take() vs poll()

前端 未结 2 1125
庸人自扰
庸人自扰 2020-12-08 02:24

When consuming values from a Queue in an infinite loop -- what would be more efficient:

1) Blocking on the Queue until a value is available via take()



        
2条回答
  •  攒了一身酷
    2020-12-08 03:23

    Blocking is likely more efficient. In the background, the thread that initially calls take() goes to sleep if there is no element available, letting other threads do whatever they need to do. The methods that add elements to the Queue will then wake up waiting threads when an element is added, so minimal time is spent checking the queue over and over again for whether an element is available.

提交回复
热议问题