摘要:
## 计算机网络 参考:[TCP三次握手详解](https://blog.csdn.net/jun2016425/article/details/81506353). ### OSI模型 简单分层: ![](https://img-blog.csdn.net/2018080715121168?wat 阅读全文
摘要:
### 动态链接(PIC,GOT,PLT,ELF) 参考:[51CTO](https://blog.51cto.com/u_15169172/3033961) 通过静态链接,可以生成一个可执行文件,这个可执行文件既可以是完全链接的也可以是部分链接的,对于部分链接的可执行文件,有些符号引用需要等到可执 阅读全文
摘要:
explicit,export,typeid,decltype,typename,四种cast,memset和assert 阅读全文
摘要:
### 杂记1 #### 布尔型 c语言中表示布尔型一般用0/1,或者flag,c++把布尔型内置了,布尔型的变量只有true和false 两个值 **和0/1的关系**: true和false不是0/1,c++编译器会把非0处理成true,把0处理成false #### 宽字符型 char型只有一 阅读全文
摘要:
atomic 参考:c++11 多线程(3)atomic 总结 - 简书.c++11 atomic Npgw的博客.C++11 并发指南系列 - Haippy - 博客园. atomic_flag atomic_flag看名字就能知道是一种flag类型,它是一种简单的原子布尔类型,只支持两种操作:t 阅读全文
摘要:
lock类 简单说明三个参数 lock_guard和unique_lock的第二个参数,是一个常数,一个标记tag。 | Type | Effect(s) | | | | | defer_lock_t | do not acquire ownership of the mutex | | try_t 阅读全文
摘要:
mutex类 mutex类是C++中最基本的互斥量。它提供了基本的上锁与解锁函数,lock(),unlock()以及try_lock()。 lock()与unlock(): 下面模拟之前说过的打印机的情况,就是多线程访问打印机,其中A线程在装入信息后被阻塞,打印机中的数据就会被线程B覆盖,当A恢复执 阅读全文
摘要:
this_thread类 this_thread是一个类,有4个功能函数: get_id() 获取当前线程id #include<iostream> #include<thread> using namespace std; void fun(){ cout<<"hello"<<endl; } in 阅读全文
摘要:
多线程 参考:CSDN,知乎 传统C++(C++11之前)中并没有引入线程的概念,如果想要在C++中实现多线程,需要借助操作系统平台提供的API,如Linux的<pthread.h>,或windows下的<windows.h> 从C++11开始提供了语言层面的多线程,包含在头文件<thread>中, 阅读全文
摘要:
信号处理 信号是由操作系统传给进程的中断,能够提前终止一个程序。在Unix,Linux,Mac OS 或Windows系统上,都可以通过Ctrl+C产生中断。 下面是可以在程序中被捕获的信号,并且可以基于信号采取适当的动作,这些信号定义在C++头文件<csignal>中。 | 信号 | 描述 | | 阅读全文