摘要:
一、非阻塞IO的轮询读写---如果当前进程有多个输入终端和多个输出终端呢?while((n=read(STDIN_FILENO,buf,buf_size))>0){ if(write(STDOUT_FILENO,buf,n)!=n) err_sys("write_error") }1、以上结构可以看出,当前进程具有一个输入终端(文件)和一个输出终端(文件)会很有可能会发生阻塞。降低... 阅读全文
posted @ 2017-11-08 18:30
FromScratch
阅读(486)
评论(0)
推荐(0)
摘要:
1、进程终止,那么这个进程建立的锁将全部释放 2、无论何时关闭一个与当前进程相关的文件描述符,那么与这个文件相关的当前进程的锁会全部被释放 3、子进程不会继承父进程的锁,子进程需要调用fcntl对继承来的文件描述符才可以获得锁 阅读全文
posted @ 2017-11-08 11:11
FromScratch
阅读(341)
评论(0)
推荐(0)
摘要:
设置文件描述符的属性,高级IO函数会根据属性,选择自己的行为比如直接返回还是阻塞 进程自己多次加锁会用后面锁替换前面锁,一般用于多个进程之间的互斥或读共享,也就是说调用进程不会阻塞在自己持有的锁上。 测试加锁,可以探测出哪个进程在某个文件的某个区域有锁,会用现有锁信息,更新锁结构 1、io函数会检测 阅读全文
posted @ 2017-11-08 07:49
FromScratch
阅读(161)
评论(0)
推荐(0)