UNIX环境高级编程
文章平均质量分 93
Cooper_jj123
这个作者很懒,什么都没留下…
展开
-
IO多路复用、 Epoll(二)
先看这几个问题进程阻塞为什么不占用CPU资源? 网络数据流通过硬件传输,网卡接收的数据存放到内存中。操作系统就可以去读取它们。一般而言,由硬件产生的信号需要CPU立马做出回应(不然数据可能就丢失),所以它的优先级很高。CPU理应中断掉正在执行的程序,去做出响应;当CPU完成对硬件CPU的响应后,再重新执行用户程序。 当网卡把数据写入到内存后,网卡向cpu发出一个中断信号,操作系统便能得知有新数据到来,再通过网卡中断程序去处理数据。 比如服务器端运行到 recv() 函数的时候,如果对端没有原创 2022-05-22 01:02:54 · 593 阅读 · 0 评论 -
Linux中线程锁 pthread_mutex_t 、条件变量 pthread_cond_t (有关日志的实现)
在头文件#include <pthread.h>中 pthread_mutex_t 与 pthread_cond_t这两个都是在<pthread.h>中定义的结构,pthread_mutex_t是互斥锁,pthread_cond_t是条件变量,主要用于PV操作。1. 线程互斥量 pthread_mutex_t 的初始化: 初始化可以用/* Initialize a mutex. */extern int pthread_mutex_init (pthr原创 2022-05-11 00:15:14 · 2597 阅读 · 1 评论 -
关于输出打印的,文件流一些函数记录 (fopen、fputs、...)
fopen(打开文件)相关函数 open, fclose 表头文件 #include< stdio.h> 定义函数 FILE * fopen(const char * path,const char * mode); 函数说明 参数path字符串包含欲打开的文件路径及文件名,参数mode字符串则代表着流形态。 mode有下列几种形态字符串: r 打开只读文件,该文件必须存在。 r+ 打开可读写的文件,该文件必须存在。 rb+ 读写打开一个二进制文件,只允许读写数据原创 2022-05-09 22:36:27 · 293 阅读 · 0 评论