当前位置: 技术问答>linux和unix
信号量使用,急!!!!!!!
来源: 互联网 发布时间:2015-07-09
本文导语: 大家好,我现在要做一个程序,多个进程访问一个文件 需要加琐,我准备用信号量 我以前没有用过,很急,请有经验的人,把具体实现步骤给我写下来 谢谢! | struct sembuf p = { 0, -1, 0 }, ...
大家好,我现在要做一个程序,多个进程访问一个文件
需要加琐,我准备用信号量
我以前没有用过,很急,请有经验的人,把具体实现步骤给我写下来
谢谢!
需要加琐,我准备用信号量
我以前没有用过,很急,请有经验的人,把具体实现步骤给我写下来
谢谢!
|
struct sembuf p = { 0, -1, 0 },
v = { 0, 1, 0 },
key_t sem_key;
int sem_id;
sem_key = ftok( ".", 's' );
sem_id = semget( sem_key, 1, IPC_CREAT|0660 );
semctl( sem_id, 0, SETVAL, 1 );
semop( sem_id, &p, 1);
......
semop( sem_id, &v, 1);
v = { 0, 1, 0 },
key_t sem_key;
int sem_id;
sem_key = ftok( ".", 's' );
sem_id = semget( sem_key, 1, IPC_CREAT|0660 );
semctl( sem_id, 0, SETVAL, 1 );
semop( sem_id, &p, 1);
......
semop( sem_id, &v, 1);
|
只是文件的话用文件锁就可以了。
#include
int lockf(int fd, int cmd, off_t len);
cmd可以是F_LOCK,F_TLOCK,F_ULOCK,F_TEST
#include
int lockf(int fd, int cmd, off_t len);
cmd可以是F_LOCK,F_TLOCK,F_ULOCK,F_TEST
|
用
signal(usr1,function);
function可以为你要加锁的函数操作
查一下吧
signal(usr1,function);
function可以为你要加锁的函数操作
查一下吧