gpt4 book ai didi

c++ - 是否可以在不同线程上使用 std::deque::push_back() 和 std::deque::front()/std::deque::pop_front() 而无需同步?

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:45:01 29 4
gpt4 key购买 nike

<分区>

我有一个生产者/消费者的情况,只有一个生产者和一个消费者,共享一个公共(public)的 std::deque。

让我写一些代码:

deque<int> dq;

void producer()
{
for (int i = 0; i < N; i++)
dq.push_back(i);
// signal data
}

void consumer()
{
// get signal
int n = dq.front();
dq.pop_front();
}

考虑在独立线程上执行的 consumer() 和 producer()。这段代码需要同步吗?

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com