上一页 1 ··· 4 5 6 7 8 9 10 11 12 ··· 36 下一页

2021年7月18日

摘要: 互斥锁 条件变量 读写锁 自旋锁 信号量 互斥锁 特点 原子性:把一个互斥量锁定为一个原子操作,这意味着操作系统(或pthread函数库)保证了如果一个线程锁定了一个互斥量,没有其他线程在同一时间可以成功锁定这个互斥量 唯一性:如果一个线程锁定了一个互斥量,在它解除锁定之前,没有其他线程可以锁定这个 阅读全文
posted @ 2021-07-18 17:04 lodger47 阅读(259) 评论(0) 推荐(0)

2021年7月17日

摘要: 写超时检测函数 连接超时检测函数 读超时检测函数 带超时的accept 设置I/O为非阻塞模式 设置I/O为非阻塞模式 write_timeout /** * write_timeout - 写超时检测函数,不含写操作 * @fd: 文件描述符 * @wait_seconds: 等待超时秒数,如果为 阅读全文
posted @ 2021-07-17 16:13 lodger47 阅读(532) 评论(0) 推荐(0)
摘要: 1、栈区(stack)—由编译器自动分配释放,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。 2、堆区(heap)—一般由程序员分配释放,若程序员不释放,程序结束时可能由OS回收。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表,呵呵。 3、全局区(静态区)(static) 阅读全文
posted @ 2021-07-17 09:49 lodger47 阅读(71) 评论(0) 推荐(0)
摘要: 线程间通信目的主要是用于线程同步,所以线程没有像进程通信中的用于数据交换的通信机制 同一进程的不同线程共享同一份全局内存区域,其中包括初始化数据段、未初始化数据段,以及堆内存段 阅读全文
posted @ 2021-07-17 09:30 lodger47 阅读(35) 评论(0) 推荐(0)

2021年7月16日

摘要: 1 #include <sys/sem.h> 2 // 创建或获取一个信号量组:若成功返回信号量集ID,失败返回-1 3 int semget(key_t key, int num_sems, int sem_flags); 当semget创建新的信号量集合时,必须指定集合中信号量的个数(即num_ 阅读全文
posted @ 2021-07-16 13:57 lodger47 阅读(76) 评论(0) 推荐(0)

2021年7月15日

摘要: 1.协议栈的数据如何封装 2.如何抓取网络原始数据 端口:就是协议中的一个字段 柔性数组/零长数组 unsigned char data[0]; //sizeof() = 0 一般来说,结构中最后一个元素允许是未知大小的数组,这个数组就是柔性数组。但结构中的柔性数组前面必须至少一个其他成员 使用场景 阅读全文
posted @ 2021-07-15 21:40 lodger47 阅读(68) 评论(0) 推荐(0)
摘要: 函数原型char *strchr(const char *str, int c) 参数 str 要被检索的 C 字符串。 c 在 str 中要搜索的字符。 功能 在参数str所指向的字符串中搜索第一次出现字符c(一个无符号字符)的位置。 返回值 返回一个指向该字符串中第一次出现的字符的指针,如果字符 阅读全文
posted @ 2021-07-15 17:47 lodger47 阅读(52) 评论(0) 推荐(0)

2021年7月13日

摘要: 源码安装务必要加上 --prefix=/usr/local/xxx 阅读全文
posted @ 2021-07-13 11:47 lodger47 阅读(16) 评论(0) 推荐(0)
摘要: libssl-dev是ubuntu系统的库,而centos系统对应的是openssl-devel 阅读全文
posted @ 2021-07-13 10:31 lodger47 阅读(786) 评论(0) 推荐(0)
摘要: which|whereis 查找命令在那个路径 rpm 要查找的软件包 rpm -qa (列出所有安装了的包) rpm -e package (删除某个包) rpm -qi package (查询某个包) rpm -qf command (根据程序查询包的名字) rpm -ql package (查 阅读全文
posted @ 2021-07-13 10:06 lodger47 阅读(170) 评论(0) 推荐(0)
上一页 1 ··· 4 5 6 7 8 9 10 11 12 ··· 36 下一页

导航