摘要:
通过linux下文件互 斥地打开,实现线程/进程互斥的访问资源,以此实现多线程编程。值得注意的是,文件互斥的方式不但适用于多线程编程,还能实现多进程之间的交互。lock.h#include #include #include #include #include void initlock (cons... 阅读全文
摘要:
每一个文件,都可以通过一个struct stat的结构体来获得文件信息,其中一个成员st_nlink代表文件的链接数。 当通过shell的touch命令或者在程序中open一个带有O_CREAT的不存在的文件时,文件的链接数为1。 通常open一个已存在的文件不会影响文件的链接数。open的作用只是... 阅读全文
摘要:
条件变量与互斥锁不同,条件变量是用来等待而不是用来上锁的。条件变量用来自动阻塞一个线程,直到某特殊情况发生为止。通常条件变量和互斥锁同时使用。条件变量使我们可以睡眠等待某种条件出现。条件变量是利用线程间共享的全局变量进行同步的一种机制,主要包括两个动作:一个线程等待"条件变量的条件成立"而挂起;另一... 阅读全文