04 2019 档案
摘要:https://www.cnblogs.com/apprentice89/p/3234677.html https://www.jianshu.com/p/aa486512e989 https://cloud.tencent.com/developer/article/1005481 https:/
阅读全文
摘要:如果多个线程阻塞在等待同一个互斥锁上,那么该互斥锁解锁时,会唤醒优先级最高的被阻线程。读写锁信号量也是这样的。 互斥锁用于上锁,条件变量则用于等待。这两种不同类型的同步都是需要的。 条件变量的作用是在等待某个条件达成时自身要进行睡眠或阻塞,避免忙等待带来的不必要消耗,所以条件变量的作用在于同步。 个
阅读全文
摘要:Posix实时信号的值在SIGRTMIN和SIGRMAX之间(包括两者)。 如果需要实时行为,我们必须使用在SIGRTMIN和SIGRMAX之间的实时信号,且在安装信号处理程序时必须给sigaction指定SA_SIGINFO标志。 实时行为指 信号是排队的。就是说,如果同一信号产生了三次,它就递交
阅读全文
摘要:随内核的持续性 读总是返回最高优先级的最早消息。 当往一个空队列放置一个消息时,允许产生一个信号或启动一个线程。 可认为是一个消息链表 队列中每个消息具有 1.一个无符号整数优先级 2.消息的数据部分长度(可以为0) 3.数据本身(如果长度) 链表头中为当前队列的两个属性:队列中允许的最大消息数(m
阅读全文
摘要:管道 1. 其本质是一个伪文件(实为内核缓冲区) 2. 由两个文件描述符引用,一个表示读端,一个表示写端。 3. 规定数据从管道的写端流入管道,从读端流出。 管道的原理: 管道实为内核使用环形队列机制,借助内核缓冲区(4k)实现。 管道的局限性: 数据一旦被读走,便不在管道中存在,不可反复读取。 缓
阅读全文
摘要:管道没有名字,只能有亲缘关系使用。 FIFO也叫有名管道,有名所以没有了这个限制。 管道提供一个单向数据流,创建函数返回两个文件描述符。一个用来读,一个用来写。 宏S_ISFIFO可用于确定一个描述符或文件是管道还是FIFO。
阅读全文
摘要:map在插入删除时,只是那个迭代器失效,其他迭代器无影响。 unordered_map在插入删除时,大部分情况下,只是那个迭代器失效,其他迭代器无影响。但在rehash时所有迭代器都会失效 map, set, multimap, and multiset 上述四种容器采用红黑树实现,红黑树是平衡二叉
阅读全文
摘要:智能指针weak_ptr的核心源码实现 https://blog.csdn.net/dong_beijing/article/details/79504591 linux【进程学习】笔记——PCB、进程环境、进程原语、虚拟地址…… https://blog.csdn.net/jobbofhe/art
阅读全文
摘要:class __default_alloc_template { enum { unit = 8 };//分配单位 后面直接用8代替 enum { max_bytes = 128 };//最大分配字节数 后面直接用128代替 enum { list_size = 16 }; //数组大小 后面直接用16代替 static char* _S_start_free;//目前内存池的首地...
阅读全文
摘要:1 注意空指针, 2 空类型,没有任何成员变量和成员函数,对改类型求sizeof 结果为1,本来应该是0,但当我们声明该实例的时候,他必须在内存种占有一点空间,否则无法使用该实例。 (1)加上构造函数和析构函数 还是1 (2)弄个虚析构函数 多了指向虚函数表的指针。32位上,一个指针4字节,所以为4
阅读全文
浙公网安备 33010602011771号