簡體   English   中英

如何使線程在std :: list上等待值?

[英]How to make a thread wait on std::list for a value?

我有一個典型的場景:假設線程A和線程B將訪問std:list。 線程A會將項目推入列表,線程B將項目從列表中彈出。

我的問題是:如何使線程B等待隊列中沒有數據。

而不是使用std::list ,你可能希望使用內置的諸如線程安全的容器boost::lockfree::queueTBB concurrent_queue

如何使線程B等待直到隊列中有數據。

檢出std :: condition_variable 使用條件變量,線程可以在變量上等待(旋轉然后進入睡眠狀態),直到另一個線程在同一變量上發出信號並喚醒等待的線程為止。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM