![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
c++编程
文章平均质量分 67
XHW___001
知其然,知其所以然
展开
-
进程间通信 之 共享内存
进程间通信 之 共享内存一 概述二 优势三 劣势四 函数1 shmget2 shmat3 shmdt4 shmctl一 概述共享内存是进程间通信中最简单的方式之一。共享内存允许两个或更多进程访问同一块内存,就如同 malloc() 函数向不同进程返回了指向同一个物理内存区域的指针。当一个进程改变了这块地址中的内容的时候,其它进程都会察觉到这个更改。二 优势1 ipc通信中最快的一种方式。 原因:两个进程地址通过页表映射到同一片物理地址,进程传递的数据直接从内存里存取、放入,数据不需要在两进程间复原创 2021-04-09 00:10:56 · 185 阅读 · 0 评论 -
进程间通信 之 管道
进程间通信 之 管道一 概述二 无名管道1 特性2 函数3 例子三 有名管道1 概述2 函数3 例子4 综合应用一 概述管道(Pipe)是两个进程之间进行单向通信的机制,因为它的单向性,所以又称为半双工管道在这里插入代码片二 无名管道1 特性(1) 数据只能由一个进程流向另一个进程(一个写管道,一个读管道);如果要进行全双工通信,需要建立两个管道。(2)管道只能用于父子进程或者兄弟进程之间的通信。(3)管道没有名字,且其缓冲区大小有限。(4)一个进程向管道写数据,数据每次都添加在管道缓冲原创 2021-04-09 00:04:29 · 362 阅读 · 0 评论 -
进程间通信 之 信号量
进程间通信 之 信号量一 概述二 工作原理三 函数1 ftok2 semget3 semctl4 semop一 概述1 信号量本质上是一个具有原子性的计数器,用来描述临界资源的2 信号量本身也是个临界资源,他控制多个进程对共享资源的访问二 工作原理由于信号量只能进行两种操作等待和发送信号,即P(sv)和V(sv),他们的行为是这样的:(1)P(sv):如果sv的值大于零,就给它减1;如果它的值为零,就挂起该进程的执行(2)V(sv):如果有其他进程因等待sv而被挂起,就让它恢复运行,如果没有进原创 2020-09-27 17:43:05 · 447 阅读 · 0 评论 -
c++编程---c++11 STL
c++11 STLstd::array1 定义2 说明3 array vector 数组比较std::forward_liststd::unordered_mapstd::unordered_setstd::array1 定义template< class T, std::size_t N > struct array;2 说明std::array是...转载 2020-01-10 18:37:45 · 205 阅读 · 0 评论 -
c++编程---c++11 bind function
c++11 bind functionbind1 定义2 理解3 应用说明4 举例function1 定义2 说明3 举例(1) 保存一般函数(2) 保存lambda表达式(3) 保存成员函数bindbind 函数模板1 定义#include <functional> template< class F, class... Args >bind( F&...转载 2020-01-10 15:39:51 · 411 阅读 · 1 评论 -
c++编程---c++11 for
c++11 for前言使用场景1 遍历字符串2 遍历数组3 遍历vector4 遍历list5 遍历map前言C++11 增加了很多C++程序员期待已久的for range循环, 使用for range 可以让代码变得更简洁,开发效率更高使用场景1 遍历字符串 // string std::string strTest("Hello World"); // bef...转载 2020-01-10 12:10:09 · 134 阅读 · 0 评论 -
c++编程---c++11 thread
c++11 thread一 概述二 构造函数1 默认构造函数2 初始化构造函数3.拷贝构造函数4.Move构造函数成员函数1 get_id()2 join()3 detach()4.swap()一 概述C++11引入了thread类,大大降低了多线程使用的复杂度,原先使用多线程只能用系统的API,无法解决跨平台问题,一套代码平台移植,对应多线程代码也必须要修改。现在在C++11中只需使用语言层...转载 2020-01-09 14:36:11 · 229 阅读 · 0 评论 -
c++编译---c++11 auto decltype nullptr
c++11 auto decltype nullptrauto1 描述2 注意点3 效率说明decltype用法一:用法二:nullptr产生原因:autoauto自动类型推导1 描述C语言也有auto关键字,但是其含义只是与static变量做一个区分,一个变量不指定的话默认就是auto。。因为很少有人去用这个东西,所以在C++11中就把原有的auto功能给废弃掉了,而变成了现在的自动类型...原创 2020-01-08 17:03:45 · 525 阅读 · 0 评论 -
c++编程---c++11 智能指针
c++11 智能指针文章转自: https://blog.csdn.net/u013654125/article/details/100137478c++ 11智能指针文章转自: https://blog.csdn.net/u013654125/article/details/100137478c++ 11智能指针c++11 的智能指针有 unique_ptr std::shared_pt...转载 2019-09-05 18:51:55 · 166 阅读 · 0 评论 -
c++编译---c++11 Lambda
c++11 Lambda一 出处:本篇文章转自:https://blog.csdn.net/lixiaogang_theanswer/article/details/80905445https://blog.csdn.net/lcalqf/article/details/79401210二 lambda 函数概述三 lambda 表达式四 参数详解一 出处:本篇文章转自:https://bl...转载 2019-09-05 15:18:28 · 253 阅读 · 0 评论 -
c++编程---锁
c++编程---锁一 互斥锁1 互斥量(1) std::mutex(2) std::recursive_mutex(3) std::time_mutex(4) std::recursive_timed_mutex2 Lock 函数(1) std::lock_guard(2) std::unique_lock(3) std::try_lock std::lock(4) std::call_once...原创 2019-09-04 15:06:34 · 359 阅读 · 0 评论