2024每日刷题(183)
Leetcode—1188. 设计有限阻塞队列
C++实现代码
class BoundedBlockingQueue {
public:BoundedBlockingQueue(int capacity) {sem_init(&enSem, 0, capacity);sem_init(&deSem, 0, 0);}~BoundedBlockingQueue() {sem_destroy(&enSem);sem_destroy(&deSem);}void enqueue(int element) {sem_wait(&enSem);q.push(element);sem_post(&deSem);}int dequeue() {sem_wait(&deSem);const int num = q.front();q.pop();sem_post(&enSem);return num;}int size() {return q.size();}
private:sem_t deSem;sem_t enSem;queue<int> q;
};
运行结果
之后我会持续更新,如果喜欢我的文章,请记得一键三连哦,点赞关注收藏,你的每一个赞每一份关注每一次收藏都将是我前进路上的无限动力 !!!↖(▔▽▔)↗感谢支持!