c++链表实现的阻塞队列
最近从java源码里发现了阻塞队列的实现,觉得非常有趣。
首先,介绍下什么是阻塞队列。阻塞队列代表着一个队列可以线程安全的往该队列中写数据和从该队列中读数据。也就是说,我们可以在多个线程之间并发的进行写数据和读数据,而不会引发任何并发问题。
下面我们就说说如何实现一个阻塞队列。
而实现一个阻塞队列的前提:
需要能够使用链表实现一个队列
能够使用c++的锁机制,去给队列的写和读操作加锁。
为了性能,这里的读和写的锁不能是同一把锁。而对于一个链表队列来说,读取操作肯定需要涉及头指针,写操作肯定涉及尾指针。既然要实现读操作一把锁和写操作一把锁。那么就要求读操作只能更