![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
操作系统
mmk27
这个作者很懒,什么都没留下…
展开
-
LRU算法
#include <iostream> #include <list> #include <map> using namespace std; class LRU { struct node { int key, val; node(int k_ = 0, int v_ = 0) { key = k_; val = v_; } }; public: int cap; // 大小 map<int, list<node>.原创 2020-09-16 10:24:09 · 220 阅读 · 0 评论 -
C/C++内存泄漏及检测
“该死系统存在内存泄漏问题”,项目中由于各方面因素,总是有人抱怨存在内存泄漏,系统长时间运行之后,可用内存越来越少,甚至导致了某些服务失败。内存泄漏是最难发现的常见错误之一,因为除非用完内存或调用malloc失败,否则都不会导致任何问题。实际上,使用C/C++这类没有垃圾回收机制的语言时,你很多时间都花在处理如何正确释放内存上。如果程序运行时间足够长,如后台进程运行在服务器上,只要服务器不宕机就一直运行,一个小小的失误也会对程序造成重大的影响,如造成某些关键服务失败。 对于内存泄漏,本人深有体会!实习的时转载 2020-09-02 19:48:56 · 269 阅读 · 0 评论 -
线程私有数据
线程私有数据实现的主要思想是:在分配线程私有数据之前,创建与该数据相关联的健,这个键可以被进程中的所有线程使用,但每个线程把这个键与不同的线程私有数据地址进行关联,需要说明的是每个系统支持有限数量的线程特定数据元素(下面的例子以128个为限制)。那么这个键的实现原理是什么呢? 其实系统为每个进程维护了一个称之为Key结构的结构数组,如下图所示: (图1) 在上图中Key 结构的“标志”指示这个数据元素是否正在使用。在刚开始时所有的标志初始化为“不在使用”。当一个线程调用pthread_key_crea原创 2020-08-22 16:31:57 · 470 阅读 · 0 评论 -
pthread多线程学习
基于pthread学习 多线程编程原创 2020-08-22 16:09:29 · 117 阅读 · 0 评论 -
pthread_cond_wait()
intpthread_cond_wait(pthread_cond_t *cond, pthread_mutex_t *mutex); 该函数第一个参数为条件变量指针,第二个为互斥量指针。该函数调用前,需本线程加锁互斥量,加锁状态的时间内函数完成线程加入等待队列操作,线程进入等待前函数解锁互斥量。在满足条件离开pthread_cond_wait函数之前重新获得互斥量并加锁,因此,本线程之后需要再次解锁互斥量。 pthread_mutex_lock(&mymutex); 然后,...原创 2020-08-22 15:16:14 · 341 阅读 · 0 评论