class FooBar {
private:
int n;
int flag;
mutex mut;
condition_variable cond;
public:
FooBar(int n) {
this->n = n;
flag = 0;
}
void foo(function<void()> printFoo) {
for (int i = 0; i < n; i++) {
unique_lock<mutex> lck(mut);
cond.wait(lck, [this]() {
return flag == 0;
});
// printFoo() outputs "foo". Do not change or remove this line.
printFoo();
flag = 1;
cond.notify_one();
}
}
void bar(function<void()> printBar) {
for (int i = 0; i < n; i++) {
unique_lock<mutex> lck(mut);
cond.wait(lck, [this]() {
return flag == 1;
});
// printBar() outputs "bar". Do not change or remove this line.
printBar();
flag = 0;
cond.notify_one();
}
}
};
多線程代碼:交叉打印灭返,熟悉mutex盗迟、unique_lock<mutex>、condition_variable
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
- 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來导饲,“玉大人捞高,你說我怎么就攤上這事≡酰” “怎么了硝岗?”我有些...
- 正文 為了忘掉前任胀溺,我火速辦了婚禮,結果婚禮上皆看,老公的妹妹穿的比我還像新娘仓坞。我一直安慰自己,他們只是感情好腰吟,可當我...
- 文/花漫 我一把揭開白布无埃。 她就那樣靜靜地躺著,像睡著了一般毛雇。 火紅的嫁衣襯著肌膚如雪嫉称。 梳的紋絲不亂的頭發(fā)上,一...
- 文/蒼蘭香墨 我猛地睜開眼江耀,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了诉植?” 一聲冷哼從身側響起祥国,我...
- 正文 年R本政府宣布,位于F島的核電站挂捻,受9級特大地震影響碉纺,放射性物質發(fā)生泄漏。R本人自食惡果不足惜刻撒,卻給世界環(huán)境...
- 文/蒙蒙 一骨田、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧声怔,春花似錦态贤、人聲如沸。這莊子的主人今日做“春日...
- 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至胎撇,卻和暖如春介粘,著一層夾襖步出監(jiān)牢的瞬間殖氏,已是汗流浹背晚树。 一陣腳步聲響...