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

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

?? sample.c

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

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;			//產(chǎn)品值,生產(chǎn)一件自加1
	
	int	semid;	//信號集id
	struct sembuf mutex,empty,full;  //三個信號量的控制變量
	
	int i;
	
	//
	//創(chuàng)建或打開一個鍵值為KEY的信號量集合,包含3個信號量,并返回一個信號量集合id
	//	
	if ((semid = semget(KEY,3,IPC_CREAT|0660)) == -1)
	{
		printf("semget error! \n");
		
		return -1;
	}

	/*********************************************************
	*	初始化信號量的初值
	*	第0個信號量用于互斥,初值為1
	*	第1個信號量用于生產(chǎn)者,初值為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]);	//賦值語句,因為信號是核心對象,所以要使用特殊的系統(tǒng)調用賦值
	
	for(i=0;i<3;i++)
		printf("The semval(%d) = %d\n",i,semctl(semid,i,GETVAL,NULL));

	//**************************
	//創(chuàng)建或打開一個鍵值為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中生產(chǎn)產(chǎn)品
	//
	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); //調節(jié)一下生產(chǎn)速度^_^
	}

	return 0;}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日韩国产高清一区| 91蝌蚪porny九色| 亚洲一区二区视频在线观看| 国产女人水真多18毛片18精品视频| 欧美日韩一级大片网址| 在线免费观看日韩欧美| 色噜噜狠狠色综合中国| 在线亚洲一区观看| 欧美日韩在线精品一区二区三区激情| 91无套直看片红桃| 色综合一区二区| 91成人免费在线视频| 91啦中文在线观看| 欧美唯美清纯偷拍| 在线综合亚洲欧美在线视频| 精品视频一区 二区 三区| 欧美日韩国产经典色站一区二区三区 | 亚洲日本va在线观看| 亚洲色图在线视频| 一区二区欧美视频| 亚洲午夜av在线| 免费欧美在线视频| 日本一二三不卡| 中文无字幕一区二区三区| 综合分类小说区另类春色亚洲小说欧美| 国产精品久久久一区麻豆最新章节| 国产精品久久久久aaaa樱花 | 国产精品毛片a∨一区二区三区| 亚洲国产激情av| 一区二区三区四区精品在线视频 | 欧美一区三区四区| 亚洲精品在线一区二区| 欧美国产日韩一二三区| 依依成人精品视频| 久久精品国产99| 成人深夜福利app| 欧美色综合网站| 久久综合久久久久88| 中文字幕一区日韩精品欧美| 日韩国产在线一| 大美女一区二区三区| 欧洲精品一区二区| 国产亚洲综合在线| 午夜精品久久久久久久久久久 | 国产精品视频一区二区三区不卡| 亚洲欧美日韩在线不卡| 久久不见久久见免费视频1| 99国产精品久久久久| 欧美成人国产一区二区| 亚洲最新在线观看| 国产69精品久久99不卡| 欧美一区二区三区在线电影| 国产日韩av一区| 视频在线在亚洲| 91在线丨porny丨国产| 亚洲精品一区二区在线观看| 亚洲无人区一区| 99精品久久免费看蜜臀剧情介绍| 精品国产91九色蝌蚪| 天天av天天翘天天综合网色鬼国产| 丁香网亚洲国际| 精品999久久久| 日本欧美一区二区三区乱码| 色一情一伦一子一伦一区| 国产视频一区二区在线| 精品一区二区三区免费| 555夜色666亚洲国产免| 一区二区三区久久| 日本高清不卡在线观看| 中文字幕在线不卡视频| 国产98色在线|日韩| 26uuu国产一区二区三区| 日韩av午夜在线观看| 欧美日韩一级视频| 亚洲成人在线观看视频| 欧美性猛片aaaaaaa做受| 自拍偷拍亚洲综合| 91蜜桃婷婷狠狠久久综合9色| 久久婷婷综合激情| 国产原创一区二区三区| 日韩欧美久久久| 久久精工是国产品牌吗| 精品对白一区国产伦| 久久成人麻豆午夜电影| 欧美精品一区二区三区蜜臀| 久久成人av少妇免费| 精品久久久久久久久久久久包黑料| 蜜臀av性久久久久蜜臀aⅴ流畅| 欧美福利电影网| 美女在线视频一区| 欧美精品一区二区三区视频| 国产成人精品综合在线观看| 国产精品蜜臀av| 成人免费视频一区| 亚洲同性同志一二三专区| 91免费在线视频观看| 亚洲高清免费视频| 日韩三级伦理片妻子的秘密按摩| 看电影不卡的网站| 欧美国产日产图区| 在线观看亚洲a| 日韩成人精品在线| 国产视频一区在线播放| 一本大道av伊人久久综合| 亚洲成人av资源| 久久午夜电影网| 色综合中文字幕国产| 亚洲三级电影网站| 91精品国产综合久久福利软件| 国内精品国产成人| 亚洲美女电影在线| 日韩欧美第一区| 99精品欧美一区| 麻豆国产欧美一区二区三区| 国产欧美精品一区| 欧美精品99久久久**| 国产91在线观看丝袜| 亚洲一区免费观看| 国产日韩av一区| 91精品国产欧美一区二区18| 国产一区二区在线视频| 亚洲色图一区二区| 久久伊人中文字幕| 在线观看日韩电影| 国产成人av一区二区三区在线观看| 一区二区三区不卡在线观看| 久久久久久久久久久黄色| 欧美亚洲国产一区二区三区va | 国产精品久久久久影视| 91精品国产一区二区三区| 99久久精品国产观看| 久久精品久久精品| 午夜精品免费在线| 一区二区三区视频在线观看| 久久综合狠狠综合久久激情| 欧美精选一区二区| 91原创在线视频| 国产成人丝袜美腿| 久久精品国产77777蜜臀| 午夜精彩视频在线观看不卡| 国产精品麻豆欧美日韩ww| www亚洲一区| 日韩精品一区二区三区视频在线观看 | 亚洲成av人片www| 亚洲天堂免费在线观看视频| 久久综合九色欧美综合狠狠 | 蜜桃一区二区三区在线观看| 亚洲高清视频的网址| 亚洲柠檬福利资源导航| 中文字幕二三区不卡| 久久久亚洲综合| 欧美一二三区在线观看| 欧美一区二区三区在线观看视频| 欧美丝袜丝交足nylons图片| 91亚洲精品乱码久久久久久蜜桃| 国产成人精品免费| 成人h动漫精品| 成人97人人超碰人人99| 粉嫩绯色av一区二区在线观看| 国产精品一区2区| 国产精品77777竹菊影视小说| 狠狠色狠狠色综合系列| 九九**精品视频免费播放| 久久av资源站| 国产精品一线二线三线精华| 国产精品一区一区三区| 成人自拍视频在线| av动漫一区二区| 91丨九色丨国产丨porny| 色婷婷av一区二区三区大白胸| 99久久伊人精品| 91久久国产综合久久| 欧美日韩黄色影视| 日韩久久免费av| 国产欧美一区二区精品秋霞影院 | 国产成人亚洲精品青草天美| 福利一区二区在线观看| 99re视频精品| 欧美精品视频www在线观看| 日韩精品一区二区三区四区视频 | 99久久精品国产导航| 精品视频在线视频| 欧美变态口味重另类| 亚洲欧美综合另类在线卡通| 亚洲五月六月丁香激情| 九九在线精品视频| jvid福利写真一区二区三区| 欧美在线三级电影| 欧美大白屁股肥臀xxxxxx| 国产精品无人区| 午夜精品久久久久久久久久| 久久精工是国产品牌吗| 91麻豆免费看片| 日韩三级在线免费观看| 国产精品视频九色porn| 日韩精品五月天| heyzo一本久久综合| 91精品国产一区二区三区蜜臀| 亚洲国产成人一区二区三区| 亚洲综合激情另类小说区|