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

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

?? pcdlg.cpp

?? 操作系統里的生產者與消費者的問題
?? CPP
?? 第 1 頁 / 共 2 頁
字號:
    pEmpty->SetWindowText(str3);
//輸出full
	CEdit *pFull=(CEdit*)(pro.pEdit6);
 CString str5;
    str5.Format("%d", confull);
 pFull->SetWindowText(str5);
   Sleep(1500);
ReleaseMutex(g_hMutex); 
ReleaseSemaphore(g_hEmptySemaphore,1,NULL); 
  }
	//ReleaseSemaphore(g_hFullSemaphore,1,NULL); 
	
//return(0);
}
UINT WriteE(LPVOID pParam)
{
	
	CPCDlg dlg;
	CEdit *pEdit=(CEdit*)(pro.pEdit1);
	pEdit->SetWindowText("");
	//WaitForSingleObject(semaphoreWrite.m_hObject,INFINITE);
  while(1)
  {
  WaitForSingleObject(g_hFullSemaphore,INFINITE); 
  WaitForSingleObject(g_hMutex,INFINITE); 
   g_Array[in]='E';
 
  //輸出in
   in++;
   in=in%10;
 CEdit *pSin=(CEdit*)(pro.pEdit2);
   CString str2;
   str2.Format("%d",in);
    pSin->SetWindowText(str2);
    proempty--;
	confull++;
	if(confull>10)
		confull=10;
	 //輸出緩沖區的數據
  pEdit->SetWindowText( g_Array);
   //輸出producer
   CEdit *pProducer=(CEdit*)(pro.pEdit4);
   CString str1;
   str1.Format("%c",'E');
    pProducer->SetWindowText(str1);
	// 輸出number
	CEdit *pnumber=(CEdit*)(pro.pEdit5);
   pnumber->SetWindowText(str1);
   //輸出empty
   CEdit *pEmpty=(CEdit*)(pro.pEdit3);
   CString str3;
   if(proempty<0)
	  proempty=0;
   str3.Format("%d",proempty);
    pEmpty->SetWindowText(str3);
//輸出full
	CEdit *pFull=(CEdit*)(pro.pEdit6);
 CString str5;
    str5.Format("%d", confull);
 pFull->SetWindowText(str5);
   Sleep(1500);
ReleaseMutex(g_hMutex); 
ReleaseSemaphore(g_hEmptySemaphore,1,NULL); 
  }
	//ReleaseSemaphore(g_hFullSemaphore,1,NULL); 
	
//return(0);
}

void CPCDlg::OnProduce() 
{
	// TODO: Add your control notification handler code here

	pro.pEdit1=&m_ProNum;
    pro.pEdit2=&m_sin;
    pro.pEdit3=&m_empty;
	pro.pEdit4=&m_producer;
	pro.pEdit5=&m_number;
	pro.pEdit6=&m_full;
CWinThread *pWriteA=AfxBeginThread(WriteA,
		&pro,
		THREAD_PRIORITY_NORMAL,
		0,
	0);

	CWinThread *pWriteB=AfxBeginThread(WriteB,
		&pro,
		THREAD_PRIORITY_NORMAL,
		0,
	0);
		CWinThread *pWriteC=AfxBeginThread(WriteC,
		&pro,
		THREAD_PRIORITY_NORMAL,
		0,
	0);
		CWinThread *pWriteD=AfxBeginThread(WriteD,
		&pro,
		THREAD_PRIORITY_NORMAL,
		0,
	0);
		CWinThread *pWriteE=AfxBeginThread(WriteE,
		&pro,
		THREAD_PRIORITY_NORMAL,
		0,
	0);


}
//消費者



UINT ReadA(LPVOID pParam)
{
	CEdit *pConnum=(CEdit*)(consu.pEdit1);
   CEdit *pOut=(CEdit*)(consu.pEdit2);
   CEdit *pFull=(CEdit*)(consu.pEdit3);
  CEdit *pConsumernum=(CEdit*)(consu.pEdit4);
 CEdit *pConsumnum=(CEdit*)(consu.pEdit5);
   CEdit *pEmpty=(CEdit*)(consu.pEdit6);
  	CEdit *ppronum=(CEdit*)(consu.pEdit7);

	while(1)
	{ 
   WaitForSingleObject(g_hEmptySemaphore,INFINITE); 
   WaitForSingleObject(g_hMutex,INFINITE);
    //輸出消費者名
    CString str1;
   str1.Format("%c", 'a');
   pConsumernum->SetWindowText(str1);
    //輸出消費的數據
	CString str;
	str.Format("%c", g_Array[out]);
	 pConnum->SetWindowText(str);
	 ss.Format("%c",g_Array[out]);
     pConsumnum->SetWindowText(ss);
     g_Array[out]=' ';
	 //輸出緩沖區的數據
	 
	 ppronum->SetWindowText(g_Array);
   	out++;
	out=out%10;
	 confull--;
	 if(confull<0)
		 confull=0;
     proempty++;
	if(proempty>10)
		proempty=0;
//輸出out指針

    CString str2;
    str2.Format("%d", out);
	 pOut->SetWindowText(str2);
//輸出sfull 
CString str3;
str3.Format("%d", confull);
 pFull->SetWindowText(str3);
//輸出empty

   CString str5;
   str5.Format("%d",proempty);
    pEmpty->SetWindowText(str5);

    Sleep(1500); 
   ReleaseMutex(g_hMutex); 
  ReleaseSemaphore(g_hFullSemaphore,1,NULL); 
} 
}
UINT ReadB(LPVOID pParam)
{
	CEdit *pConnum=(CEdit*)(consu.pEdit1);
	CEdit *pOut=(CEdit*)(consu.pEdit2);
	CEdit *pFull=(CEdit*)(consu.pEdit3);
    CEdit *pConsumernum=(CEdit*)(consu.pEdit4);
	 CEdit *pConsumnum=(CEdit*)(consu.pEdit5);
	CEdit *pEmpty=(CEdit*)(consu.pEdit6);
	CEdit *ppronum=(CEdit*)(consu.pEdit7);
	while(1)
	{ 
   WaitForSingleObject(g_hEmptySemaphore,INFINITE); 
   WaitForSingleObject(g_hMutex,INFINITE);
  //輸出消費者名
    CString str1;
   str1.Format("%c", 'b');
   pConsumernum->SetWindowText(str1);
    //輸出消費的數據
	CString str;
	str.Format("%c", g_Array[out]);
   pConnum->SetWindowText(str);
    ss.Format("%c",g_Array[out]);
     pConsumnum->SetWindowText(ss);
     g_Array[out]=' ';
	 //輸出緩沖區的數據
	 	
	 ppronum->SetWindowText(g_Array);
   	out++;
	out=out%10;
	 confull--;
	 if(confull<0)
		 confull=0;
     proempty++;
	if(proempty>10)
		proempty=0;
//輸出out指針

    CString str2;
    str2.Format("%d", out);
	 pOut->SetWindowText(str2);
//輸出sfull 
CString str3;
str3.Format("%d", confull);
 pFull->SetWindowText(str3);
//輸出empty

   CString str5;
   str5.Format("%d",proempty);
    pEmpty->SetWindowText(str5);
   Sleep(1500); 
   ReleaseMutex(g_hMutex); 
  ReleaseSemaphore(g_hFullSemaphore,1,NULL); 
} 
}
UINT ReadC(LPVOID pParam)
{
	CEdit *pConnum=(CEdit*)(consu.pEdit1);
	CEdit *pOut=(CEdit*)(consu.pEdit2);
	CEdit *pFull=(CEdit*)(consu.pEdit3);
    CEdit *pConsumernum=(CEdit*)(consu.pEdit4);
	 CEdit *pConsumnum=(CEdit*)(consu.pEdit5);
	CEdit *pEmpty=(CEdit*)(consu.pEdit6);
	CEdit *ppronum=(CEdit*)(consu.pEdit7);
	while(1)
	{ 
   WaitForSingleObject(g_hEmptySemaphore,INFINITE); 
   WaitForSingleObject(g_hMutex,INFINITE);
  //輸出消費者名
    CString str1;
   str1.Format("%c", 'c');
   pConsumernum->SetWindowText(str1);
    //輸出消費的數據
	CString str;
	str.Format("%c", g_Array[out]);
   pConnum->SetWindowText(str);
    ss.Format("%c",g_Array[out]);
     pConsumnum->SetWindowText(ss);
     g_Array[out]=' ';
	 //輸出緩沖區的數據
	 	
	 ppronum->SetWindowText(g_Array);
   	out++;
	out=out%10;
	 confull--;
	 if(confull<0)
		 confull=0;
     proempty++;
	if(proempty>10)
		proempty=0;
//輸出out指針

    CString str2;
    str2.Format("%d", out);
	 pOut->SetWindowText(str2);
//輸出sfull 
CString str3;
str3.Format("%d", confull);
 pFull->SetWindowText(str3);
//輸出empty

   CString str5;
   str5.Format("%d",proempty);
    pEmpty->SetWindowText(str5);
   Sleep(1500); 
   ReleaseMutex(g_hMutex); 
  ReleaseSemaphore(g_hFullSemaphore,1,NULL); 
} 
}
UINT ReadD(LPVOID pParam)
{
	CEdit *pConnum=(CEdit*)(consu.pEdit1);
	CEdit *pOut=(CEdit*)(consu.pEdit2);
	CEdit *pFull=(CEdit*)(consu.pEdit3);
    CEdit *pConsumernum=(CEdit*)(consu.pEdit4);
	 CEdit *pConsumnum=(CEdit*)(consu.pEdit5);
	CEdit *pEmpty=(CEdit*)(consu.pEdit6);
	CEdit *ppronum=(CEdit*)(consu.pEdit7);
	while(1)
	{ 
   WaitForSingleObject(g_hEmptySemaphore,INFINITE); 
   WaitForSingleObject(g_hMutex,INFINITE);
  //輸出消費者名
    CString str1;
   str1.Format("%c", 'd');
   pConsumernum->SetWindowText(str1);
    //輸出消費的數據
	CString str;
	str.Format("%c", g_Array[out]);
   pConnum->SetWindowText(str);
    ss.Format("%c",g_Array[out]);
     pConsumnum->SetWindowText(ss);
     g_Array[out]=' ';
	 //輸出緩沖區的數據
	 	
	 ppronum->SetWindowText(g_Array);
   	out++;
	out=out%10;
	 confull--;
	 if(confull<0)
		 confull=0;
     proempty++;
	if(proempty>10)
		proempty=0;
//輸出out指針

    CString str2;
    str2.Format("%d", out);
	 pOut->SetWindowText(str2);
//輸出sfull 
CString str3;
str3.Format("%d", confull);
 pFull->SetWindowText(str3);
//輸出empty

   CString str5;
   str5.Format("%d",proempty);
    pEmpty->SetWindowText(str5);
   Sleep(1500); 
   ReleaseMutex(g_hMutex); 
  ReleaseSemaphore(g_hFullSemaphore,1,NULL); 
} 
}
UINT ReadE(LPVOID pParam)
{
	CEdit *pConnum=(CEdit*)(consu.pEdit1);
	CEdit *pOut=(CEdit*)(consu.pEdit2);
	CEdit *pFull=(CEdit*)(consu.pEdit3);
    CEdit *pConsumernum=(CEdit*)(consu.pEdit4);
	 CEdit *pConsumnum=(CEdit*)(consu.pEdit5);
	CEdit *pEmpty=(CEdit*)(consu.pEdit6);
	CEdit *ppronum=(CEdit*)(consu.pEdit7);
	while(1)
	{ 
   WaitForSingleObject(g_hEmptySemaphore,INFINITE); 
   WaitForSingleObject(g_hMutex,INFINITE);
  //輸出消費者名
    CString str1;
   str1.Format("%c", 'e');
   pConsumernum->SetWindowText(str1);
    //輸出消費的數據
	CString str;
	str.Format("%c", g_Array[out]);
   pConnum->SetWindowText(str);
    ss.Format("%c",g_Array[out]);
     pConsumnum->SetWindowText(ss);
     g_Array[out]=' ';
	 //輸出緩沖區的數據
	 	
	 ppronum->SetWindowText(g_Array);
   	out++;
	out=out%10;
	 confull--;
	 if(confull<0)
		 confull=0;
     proempty++;
	if(proempty>10)
		proempty=0;
//輸出out指針

    CString str2;
    str2.Format("%d", out);
	 pOut->SetWindowText(str2);
//輸出sfull 
CString str3;
str3.Format("%d", confull);
 pFull->SetWindowText(str3);
//輸出empty

   CString str5;
   str5.Format("%d",proempty);
    pEmpty->SetWindowText(str5);
   Sleep(1500); 
   ReleaseMutex(g_hMutex); 
  ReleaseSemaphore(g_hFullSemaphore,1,NULL); 
} 
}

void CPCDlg::OnConsume() 
{
	// TODO: Add your control notification handler code here
	consu.pEdit1=&m_ConNum;
	consu.pEdit2=&m_out;
	consu.pEdit3=&m_full;
	consu.pEdit4=&m_consumernum;
	consu.pEdit5=&m_consumnum;
	consu.pEdit6=&m_empty;
	consu.pEdit7=&m_ProNum;
	CWinThread *pReadA=AfxBeginThread(ReadA,
		&consu,
		THREAD_PRIORITY_NORMAL,
		0,
	0);

	CWinThread *pReadB=AfxBeginThread(ReadB,
		&consu,
		THREAD_PRIORITY_NORMAL,
		0,
	0);
		CWinThread *pReadC=AfxBeginThread(ReadC,
		&consu,
		THREAD_PRIORITY_NORMAL,
		0,
	0);
			CWinThread *pReadD=AfxBeginThread(ReadD,
		&consu,
		THREAD_PRIORITY_NORMAL,
		0,
	0);
				CWinThread *pReadE=AfxBeginThread(ReadE,
		&consu,
		THREAD_PRIORITY_NORMAL,
		0,
	0);
	
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲精品高清在线| 色久综合一二码| 日韩一区二区三区观看| 久久 天天综合| 欧美电影精品一区二区| 国产日韩精品一区二区浪潮av| 国产在线精品免费| 国产欧美在线观看一区| 99久久99久久久精品齐齐| 国产精品欧美综合在线| 国产精品一区2区| 国产精品国产三级国产三级人妇 | av激情成人网| 国产激情一区二区三区四区| 欧美日韩免费一区二区三区视频 | 国产一区不卡视频| 欧美三级韩国三级日本一级| 黄页视频在线91| 国产91高潮流白浆在线麻豆 | 日本一区二区三区国色天香| 日韩视频在线一区二区| 亚洲欧美另类久久久精品| 亚洲精品在线三区| 国产欧美日韩麻豆91| 欧美精品一区在线观看| 国产日韩影视精品| 一区二区三区成人| 日韩电影网1区2区| 成熟亚洲日本毛茸茸凸凹| 天天av天天翘天天综合网色鬼国产| 久久久99精品免费观看| 国产天堂亚洲国产碰碰| 亚洲视频每日更新| 激情综合五月天| 欧美亚洲动漫制服丝袜| 久久久精品tv| 日本亚洲欧美天堂免费| 91久久免费观看| 国产日韩欧美一区二区三区乱码 | 日本vs亚洲vs韩国一区三区| www.在线成人| 久久精品人人做人人综合| 亚洲午夜成aⅴ人片| 色妹子一区二区| 国产精品嫩草影院com| 国产在线精品一区二区夜色| 欧美亚洲免费在线一区| 亚洲动漫第一页| 精品视频在线免费观看| 亚洲麻豆国产自偷在线| 色综合中文字幕| 亚洲美腿欧美偷拍| 欧美日韩国产免费一区二区| 亚洲欧美日韩国产中文在线| 99热精品一区二区| 久久奇米777| www.亚洲色图.com| 亚洲综合一区二区精品导航| 日本韩国一区二区| 婷婷开心久久网| 欧美高清精品3d| 麻豆精品新av中文字幕| 精品国产乱码久久久久久久| 国产综合久久久久久久久久久久| 精品日韩av一区二区| 国产一区二区毛片| 国产精品久久久久久久久免费樱桃| 国产精品一区二区免费不卡| 国产精品免费视频一区| 欧美日韩黄色影视| 99热这里都是精品| 亚洲精品日韩综合观看成人91| 欧美日韩一区二区欧美激情| 日韩一区欧美二区| 国产区在线观看成人精品| 欧洲另类一二三四区| 激情六月婷婷久久| 一区二区在线观看免费| 精品福利av导航| 欧美另类z0zxhd电影| 成人h版在线观看| 精品一二三四区| 五月天中文字幕一区二区| 国产精品欧美极品| 精品欧美乱码久久久久久1区2区| www.成人在线| 国产69精品久久久久毛片| 久久99最新地址| 日本在线观看不卡视频| 亚洲国产精品久久一线不卡| 中文字幕一区三区| 18成人在线观看| 欧美激情一二三区| 中文成人av在线| 国产精品日日摸夜夜摸av| 91麻豆精品国产| 欧美酷刑日本凌虐凌虐| 91黄色小视频| 成人黄色综合网站| 国产91高潮流白浆在线麻豆 | 亚洲精选在线视频| 国产精品久久久久久妇女6080| 国产欧美日本一区视频| 国产欧美日韩久久| 亚洲婷婷综合色高清在线| 亚洲一区二区四区蜜桃| 首页国产丝袜综合| 久久精品国产一区二区三| 黄色成人免费在线| 成人黄色网址在线观看| 欧美亚一区二区| 欧美一区二区三区免费观看视频 | 精品国产3级a| 国产精品国产精品国产专区不蜜| 亚洲精品精品亚洲| 亚洲第一主播视频| 国产成人亚洲精品青草天美| 波多野洁衣一区| 日本乱人伦一区| 久久综合久久综合亚洲| 国产精品国产三级国产a| 日韩电影在线观看电影| 婷婷综合久久一区二区三区| 国产99精品国产| 欧美精品乱码久久久久久按摩| 久久久久久久久免费| 亚洲国产欧美在线人成| 国产成人在线影院 | 欧美综合视频在线观看| 欧美精品一区二区三| 一区二区三区中文字幕电影| 日韩高清一区二区| 精品视频1区2区3区| 久久久99免费| 日本 国产 欧美色综合| 欧美亚洲国产一区在线观看网站| www国产成人| 国产自产v一区二区三区c| 91精品福利在线一区二区三区| 亚洲欧美视频在线观看视频| 国产精品夜夜爽| 国产三级一区二区| 国产91丝袜在线观看| 中文字幕一区二区三区在线播放| 国内精品伊人久久久久av一坑| 99re这里只有精品6| 久久久久久一级片| 国产传媒久久文化传媒| 亚洲天堂中文字幕| 91原创在线视频| 亚洲自拍欧美精品| 在线播放/欧美激情| 久久成人综合网| 欧美成人vr18sexvr| 国产精品一区二区久久精品爱涩| 亚洲欧洲av另类| 制服丝袜亚洲精品中文字幕| 久久精品99久久久| 日韩美女视频一区二区| 91福利在线看| 久久激五月天综合精品| 国产亚洲精品精华液| 日本高清不卡aⅴ免费网站| 麻豆精品在线看| 亚洲午夜私人影院| 久久久久成人黄色影片| 欧美日韩三级在线| 丁香六月久久综合狠狠色| 亚洲欧美日韩国产手机在线| 欧美视频中文一区二区三区在线观看 | 国产精品国产三级国产aⅴ无密码| 欧美精品在线观看一区二区| 色综合中文综合网| 欧美顶级少妇做爰| 在线观看视频91| 色综合咪咪久久| 色综合久久中文字幕| 色综合中文综合网| 99久久久精品| 色综合久久99| 欧美性猛交xxxx乱大交退制版| 91麻豆精东视频| 欧美日韩你懂得| 欧美tickling挠脚心丨vk| 欧美大片顶级少妇| 国产欧美日韩精品a在线观看| 国产欧美1区2区3区| 中文乱码免费一区二区| 亚洲免费看黄网站| 日韩精品电影在线观看| 国产成人日日夜夜| 在线免费观看日本欧美| 日韩一区二区影院| 国产精品乱码人人做人人爱| 夜夜夜精品看看| 国产不卡视频在线播放| 欧美亚洲禁片免费| 中文字幕精品—区二区四季| 亚洲成人综合网站| kk眼镜猥琐国模调教系列一区二区|