Ist es möglich, std :: deque :: push_back () und std :: deque :: front () / std :: deque :: pop_front () für verschiedene Threads ohne Synchronisation zu verwenden? [Duplikat]
Diese Frage hat hier bereits eine Antwort:
Ist die Verwendung von std :: deque oder std :: priority_queue threadsicher? [Duplikat] 3 AntwortenThread-Sicherheit für AWL-Warteschlange 5 AntwortenIch habe eine Produzent / Konsument-Situation mit einem einzigen Produzenten und einem einzigen Konsumenten, die sich eine gemeinsame Norm teilen.
Lassen Sie mich einen Code schreiben:
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();
}
Stellen Sie sich vor, dass consumer () und producer () auf unabhängigen Threads ausgeführt werden. Muss dieser Code synchronisiert werden?