使用线程安全的队列实现,并使用互斥锁或原子操作实现线程同步。
例如,在C++中可以使用std::queue和std::mutex来实现:
#include
std::queue
// 在写入队列前获取锁 queueMutex.lock(); myQueue.push(value); queueMutex.unlock();
// 在读取队列前获取锁 queueMutex.lock(); int value = myQueue.front(); myQueue.pop(); queueMutex.unlock();
这里的锁确保了任何时刻只能有一个线程在队列的同一端进行读写操作,避免了竞争条件。