摘要: 1.介绍 它是进程或线程同步、互斥时遇到的问题,通过堆信号量进行PV操作来实现。 2.过程 消费者不能消费空的缓冲区,生产者不能向满的缓冲区产生数据。 那么在运行生产者代码的时候先P一下empty判断是否是满的,并且对缓冲区的访问也是互斥的,有一个互斥量;生产完之后就V一下通知缓冲区有内容。 消费者 阅读全文
posted @ 2021-02-01 22:13 lypbendlf 阅读(87) 评论(0) 推荐(0) 编辑
摘要: 1.添加元素的方式 queue<pair<int,int>> q; q.push({1,2}); q.push(make_pair(1,2)); q.emplace(1,2); 上面三种方法是ok的,emplace会直接构造,而push需要显式地调用一下。 q.push((1,2));//error 阅读全文
posted @ 2021-02-01 15:29 lypbendlf 阅读(2235) 评论(0) 推荐(1) 编辑
摘要: 转自:https://zhuanlan.zhihu.com/p/40338107 1.介绍 迪杰斯特拉(Dijkstra)算法是典型最短路径算法,用于计算一个节点到其他节点的最短路径。它的主要特点是以起始点为中心向外层层扩展(广度优先搜索思想),直到扩展到终点为止。 但它不能处理负权路径,如果先找到 阅读全文
posted @ 2021-02-01 14:15 lypbendlf 阅读(105) 评论(0) 推荐(0) 编辑
摘要: 转自:https://blog.csdn.net/hzhsan/article/details/44100215 https://www.cnblogs.com/milantgh/p/4075912.html https://blog.csdn.net/gatieme/article/details 阅读全文
posted @ 2021-02-01 13:11 lypbendlf 阅读(1587) 评论(0) 推荐(0) 编辑