20230803 linux信号量sem sem_init(sem_t* m_sem,0,0)

信号量及一切定义为指针类型的变量使用前一定要先new 一个实例化对象将地址给该指针,否则指针没有确定的地址,运行后直接访问该错误地址报段错误。
信号量使用参考:

linux 多线程之信号量 sem_init

有名信号量sem_open和内存信号量sem_init创建信号量的区别

多进程共用信号量使用有名信号量
sem_open、sem_close、sem_unlink
linux sem 多进程sem_open sem_init,信号灯
主进程初始化

semiddp = sem_open("/semiddptest", O_CREAT, 777, 0);

信号量名字 需要以 " / " 开头

跟随主进程通过信号量同步的进程初始化

semiddp = sem_open("/semiddptest", O_EXCL);

sem_post , sem_wait 用法与线程同步信号量相同

你可能感兴趣的:(c++,linux)