📄 cig_smoker.c~
字号:
#include"ipc.h"int main(int argc,char *argv[]){ int rate; if(argv[1]!=NULL)rate=atoi(argv[1]); else rate=3; buff_key=101; buff_num=2; cig_get_key=103; cig_get_num=2; shm_flg=IPC_CREAT|0644; buff_ptr=(char*)set_shm(buff_key,buff_num,shm_flg); cig_get_ptr=(int *)set_shm(cig_get_key,cig_get_num,shm_flg); prod_key=201; pmtx_key=202; cig_key=301; smtx_key=304; sem_flg=IPC_CREAT|0644; sem_val=1; prod_sem=set_sem(prod_key,sem_val,sem_flg); sem_val=0; cig_sem=set_sem(cig_key,sem_val,sem_flg); sem_val=1; smtx_sem=set_sem(smtx_key,sem_val,sem_flg); while(1){ down(cig_sem); down(smtx_sem); sleep(1); printf("Cig_Smoker get %c%c\n",buff_ptr[*cig_get_ptr],buff_ptr[(*cig_get_ptr+1)%buff_num]); *cig_get_ptr=(*cig_get_ptr+2)%buff_num; up(smtx_sem); up(prod_sem); } return EXIT_SUCCESS;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -