|
发表于 2011-1-14 23:00:38
|
显示全部楼层
Post by yanglh;2125015
1,有点迷惑,A进行对文件file加"互斥锁"后,file还能被进程B写入吗
2,锁的作用到底是什么
你应该再复习一下“互斥锁”的概念和使用,可以参考一下aupe,11.6 Thread Synchronization
你所谓的文件锁是类似这样的结构:
typedef struct _file_with_mutex {
pthread_mutex_t file_lock;
int fd;
} file_with_mutex;
file_with_mutex A;
当某个线程使用该文件时,需要调用pthread_mutex_lock(&A.file_lock);
如果线程A获得了这个互斥锁,B线程是会阻塞到这条语句上,只有等待线程A执行pthread_mutex_unlock(&A.file_lock) |
|