信号量同步编程
来源:互联网 发布:淘宝运营每天做什么 编辑:程序博客网 时间:2024/06/05 11:48
利用信号量不仅可以是两个进程对一个文件访问互斥,还可以对进程进行同步。
int fd; int semid; struct sembufsops; key_t key; key =ftok("/home/kaito/mark_c/same_file", 2); //创建信号量 semid = semget(key, 1,IPC_CREAT); semctl(semid, 0, SETVAL,0); //创建文件(产品) fd =open("/home/kaito/mark_c/same_file/product.txt", O_RDWR|O_CREAT,0775); //休息 sleep(10); //向文件里面填充内容 write(fd, "the productis finished!", 25); //释放信号量 sops.sem_num = 0; sops.sem_op = 1; sops.sem_flg =SEM_UNDO; semop(semid, &sops,1); close(fd);
int fd; int semid; struct sembufsops; key_t key; int ret; //创建信号量 key =ftok("/home/kaito/mark_c/same_file", 2); semid = semget(key, 1,IPC_CREAT); sops.sem_num = 0; sops.sem_op = -1; sops.sem_flg =SEM_UNDO; ret = semop(semid,&sops, 1); printf("ret is %d\n",ret); //取走文件 system("cp ./product.txt./ship/");
这里虽然说是同步,但我觉得更像是让进程按照一定的顺序访问一个文件,即给进程排个序来操作文件
#include
#include
#include
#include
#include
#include
#include
void main()
{
}
#include
#include
#include
#include
#include
void main()
{
}
阅读全文
0 0
- 信号量--进程同步编程
- 信号量同步编程
- 信号量同步编程
- Linux 信号量同步编程
- 信号量同步编程
- 【Linux】 多线程编程(信号量实现同步)
- Linux多线程编程入门-同步机制-信号量
- Linux_4.7_信号量同步编程
- linux系统编程:线程同步-信号量(semaphore)
- 【Linux信号通讯编程】信号量同步
- Linux多线程编程之同步对象编程:线程信号量
- linux应用编程笔记(13)信号量同步编程
- linux下编程学习----- 线程同步之无名信号量
- linux下编程学习----- 线程同步之无名信号量
- linux下编程学习----- 线程同步之无名信号量
- linux 多线程编程 之 信号量互斥同步
- linux 多线程编程 之 信号量互斥同步
- linux 多线程编程 之 信号量互斥同步
- main函数的两个参数
- NYOJ:17-单调递增最长子序列
- 通过移植bootm命令启动已经编译好…
- main函数的两个参数使用
- 通过信号量达到进程对资源占用的互…
- 信号量同步编程
- 创建文件&复制文件&删除文件
- OK6410ping通Linux虚拟机
- linux进程间通信-------共享内存
- linux进程间通信-------消息队列
- synchronized与static synchronized 的区别
- 消息队列的范例代码
- linux多线程程序
- ubuntu下,ARM_tools 的安装