亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? sample.c

?? pv操作 消費者與生產者 經典代碼 用于UNIx linux平臺
?? C
字號:
#include <sys/types.h>#include <sys/ipc.h>
#include <sys/sem.h>#include <stdio.h>
#define KEY (key_t)	//后面自己使用兩個隨機的數值
#define KEY2 (key_t)
#define MAX_BUFFER_SIZE	10		//緩沖區最大緩沖個數
union semun {
	int val;
	struct semid_ds *buf;
	ushort *array;
};						//用于semctl函數的控制結構

typedef struct _tagShareBuffer{
	int buffer[MAX_BUFFER_SIZE];
	int writer;
	int reader;
}SHAREBUFFER;			//共享內存中的結構

int main(){	int	  shmid;		//共享內存id	char* shmPtr;		//指向共享內存首地址的指針
	
	SHAREBUFFER* pSharebuffer;	//共享內存結構體指針
	int product = 0;			//產品值,生產一件自加1
	
	int	semid;	//信號集id
	struct sembuf mutex,empty,full;  //三個信號量的控制變量
	
	int i;
	
	//
	//創建或打開一個鍵值為KEY的信號量集合,包含3個信號量,并返回一個信號量集合id
	//	
	if ((semid = semget(KEY,3,IPC_CREAT|0660)) == -1)
	{
		printf("semget error! \n");
		
		return -1;
	}

	/*********************************************************
	*	初始化信號量的初值
	*	第0個信號量用于互斥,初值為1
	*	第1個信號量用于生產者,初值為MAX_BUFFER_SIZE
	*	第2個信號量用于消費者,初值為0
	*	arg是用于給信號量賦值的一個中間過渡變量,不必理會
	*********************************************************/
	union semun arg[3];
	arg[0].val = 1;
	arg[1].val = MAX_BUFFER_SIZE;
	arg[2].val = 0;

	for(i=0;i<3;i++)
		semctl(semid,i,SETVAL,arg[i]);	//賦值語句,因為信號是核心對象,所以要使用特殊的系統調用賦值
	
	for(i=0;i<3;i++)
		printf("The semval(%d) = %d\n",i,semctl(semid,i,GETVAL,NULL));

	//**************************
	//創建或打開一個鍵值為KEY的共享內存塊,并返回它的id
	//將KEY值加1,避免與信號量集的key相同
	if ((shmid = shmget(KEY+1,sizeof(SHAREBUFFER),IPC_CREAT)) < 0)	{		printf("shmget error!\n");		return -1;	}
	
	//
	//將共享內存映射到進程空間里,并返回共享內存首地址
	//	if((shmPtr = (char*)shmat(shmid,0,0)) == (void*)-1)	{		printf("shmat error!\n");		return -1;	}
	
	memset((void*)shmPtr,0,sizeof(SHAREBUFFER));	//將共享內存空間清0
	
	pSharebuffer = (SHAREBUFFER*)shmPtr;

	//
	//下面開始向ShareBuffer中生產產品
	//
	while(1)
	{
		empty.sem_num = 1;		//指操作哪個信號量
		empty.sem_op  = -1;		//要對信號量的值作減1操作
		empty.sem_flg = 0;		//控制標識符
		semop(semid,&empty,1);	//P(empty)
		
		pSharebuffer->buffer[pSharebuffer->writer] = product;
		
		for(i=0;i<3;i++)
			printf("The semval(%d) = %d\n",i,semctl(semid,i,GETVAL,NULL));
		
		printf("Produced the product into buffer[%d] = %d;\n",pSharebuffer->writer,product);
		
		product++;
		
		mutex.sem_num = 0;
		mutex.sem_op  = -1;
		mutex.sem_flg = 0;
		semop(semid,&mutex,1);	//P(mutex)
		
		pSharebuffer->writer = (pSharebuffer->writer + 1) % MAX_BUFFER_SIZE;
		
		mutex.sem_num = 0;
		mutex.sem_op  = 1;
		mutex.sem_flg = 0;
		semop(semid,&mutex,1);	//V(mutex)
		
		full.sem_num = 2;
		full.sem_op	= 1;
		full.sem_flg = 0;
		semop(semid,&full,1); //V(full)

		sleep(1); //調節一下生產速度^_^
	}

	return 0;}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久久久国产精品人| 久久久激情视频| 91首页免费视频| 91在线观看成人| 一本一道久久a久久精品| 菠萝蜜视频在线观看一区| 国产一区二区三区av电影 | 亚洲欧美另类久久久精品| 亚洲国产精品成人综合色在线婷婷| 精品少妇一区二区三区| 精品国产乱码久久久久久牛牛| 日韩亚洲国产中文字幕欧美| 日韩精品中午字幕| 精品国产一区二区三区久久久蜜月 | 亚洲一区中文日韩| 亚洲综合激情网| 日韩国产欧美在线视频| 国产一区美女在线| 丁香亚洲综合激情啪啪综合| 91丝袜美腿高跟国产极品老师 | 欧美在线综合视频| 欧美丰满美乳xxx高潮www| 欧美电视剧免费观看| 国产日韩欧美制服另类| 国产精品久久久久天堂| 亚洲国产一区二区在线播放| 亚洲午夜久久久久中文字幕久| 亚洲一二三四在线观看| 久久99精品国产| 99久久综合国产精品| 欧美老年两性高潮| 久久综合999| 亚洲精品国产a久久久久久| 日韩精品电影在线| 国产99精品在线观看| 欧美日韩一区二区三区视频| 2017欧美狠狠色| 一区二区高清免费观看影视大全 | 久久久久久亚洲综合影院红桃| 日韩理论片网站| 久久精品国产久精国产| 色www精品视频在线观看| www亚洲一区| 亚洲国产欧美在线人成| 国产一区二区影院| 欧美日韩另类国产亚洲欧美一级| 久久亚洲综合色| 亚洲一区二区3| 国产精品亚洲午夜一区二区三区 | 天堂va蜜桃一区二区三区漫画版| 久久精品国产99| 欧美三级电影一区| 中文字幕中文字幕一区| 经典三级在线一区| 欧美三级一区二区| 亚洲日穴在线视频| 久久99精品国产麻豆不卡| 色噜噜久久综合| 亚洲欧洲日韩av| 国产精品综合视频| 精品对白一区国产伦| 日韩电影在线免费看| 欧美日韩在线播放三区四区| 亚洲三级小视频| 99国产一区二区三精品乱码| 久久精品一区二区| 精品亚洲成a人| 精品国产乱码久久久久久夜甘婷婷| 五月综合激情日本mⅴ| 色哟哟一区二区在线观看 | 3d动漫精品啪啪| 一区二区三区国产精品| av男人天堂一区| 亚洲三级免费观看| 在线观看日韩电影| 亚洲视频资源在线| 在线影视一区二区三区| 一区2区3区在线看| 欧美色图在线观看| 日本特黄久久久高潮| xfplay精品久久| 国产一区欧美二区| 国产午夜精品久久| www.在线欧美| 亚洲精品视频在线| 911精品产国品一二三产区| 日韩精品视频网站| 亚洲精品一区二区三区四区高清| 国产一区二区三区在线观看免费视频| 精品国产一区二区三区不卡 | 亚洲成人av在线电影| 欧美日韩高清在线播放| 久久精品国产免费| 中文字幕免费不卡在线| 91成人在线观看喷潮| 美腿丝袜在线亚洲一区| 久久精品人人做| 色综合网站在线| 石原莉奈一区二区三区在线观看| 欧美mv和日韩mv的网站| 国产精品18久久久| 亚洲免费在线看| 日韩欧美一级片| 国产美女视频一区| 一区二区三区毛片| 精品久久国产字幕高潮| 91在线国产观看| 蜜臀av性久久久久蜜臀aⅴ| 日本一区二区三区免费乱视频| 99国产精品久久久久久久久久久 | 91亚洲精品一区二区乱码| 亚洲综合小说图片| 久久久久国色av免费看影院| 欧美性受极品xxxx喷水| 久久精品噜噜噜成人av农村| 亚洲色图都市小说| 久久婷婷国产综合国色天香| 一本色道久久综合亚洲91| 激情综合色综合久久| 亚洲一区二区三区在线| 国产亚洲精品资源在线26u| 欧美视频一区二| 99久久婷婷国产综合精品电影 | 丁香天五香天堂综合| 午夜影院久久久| 欧美高清一级片在线观看| 在线成人av网站| 91色乱码一区二区三区| 国产99久久精品| 韩日av一区二区| 午夜亚洲福利老司机| 日韩一区在线播放| 国产三级欧美三级| 亚洲精品一线二线三线无人区| 欧美日韩亚洲综合在线| 91免费看`日韩一区二区| 国产河南妇女毛片精品久久久| 日本视频在线一区| 亚洲h精品动漫在线观看| 亚洲欧美乱综合| 成人欧美一区二区三区在线播放| 久久精品亚洲国产奇米99| 日韩亚洲欧美成人一区| 91精品国产手机| 欧美一区二区三区喷汁尤物| 精品视频在线看| 欧美日韩一区小说| 欧美日韩亚州综合| 欧美性受极品xxxx喷水| 欧美日韩亚洲丝袜制服| 欧美日韩亚洲另类| 欧美精品久久久久久久多人混战| 欧美亚洲一区二区在线| 欧美视频一区二区三区在线观看| 欧美一级理论片| 337p日本欧洲亚洲大胆精品| 日韩精品一区二区三区蜜臀| 精品欧美一区二区在线观看| 欧美精品一区二区三区很污很色的| 日韩一区二区免费在线电影| 日韩欧美在线1卡| 26uuu国产在线精品一区二区| 精品国内二区三区| 中文久久乱码一区二区| 亚洲日本在线天堂| 午夜久久久影院| 麻豆成人综合网| 国产激情视频一区二区在线观看| 岛国精品一区二区| 色婷婷激情久久| 日韩欧美综合一区| 欧美极品美女视频| 亚洲综合偷拍欧美一区色| 日韩国产成人精品| 国产成人自拍网| 91在线国产观看| 日韩欧美精品在线视频| 日本一区二区三区四区| 亚洲一区二区三区三| 久久电影网电视剧免费观看| 波波电影院一区二区三区| 欧美亚洲综合色| 国产喂奶挤奶一区二区三区| 亚洲精品美国一| 精品在线免费视频| 97精品国产露脸对白| 日韩一区和二区| 亚洲欧美在线另类| 开心九九激情九九欧美日韩精美视频电影 | 91麻豆精品国产91久久久| 久久亚洲私人国产精品va媚药| 亚洲人亚洲人成电影网站色| 全国精品久久少妇| 色偷偷一区二区三区| 日韩午夜精品视频| 亚洲精品国产一区二区精华液 | 成人av在线播放网站| 欧美日韩一二三区| 国产精品国产三级国产| 精品在线观看视频|