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

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

?? 15.4.1 火車站售票系統模擬程序.txt

?? 網上第一本以TXT格式的VC++深入詳解孫鑫的書.全文全以TXT格式,并每一章節都分了目錄,清晰易讀
?? TXT
字號:
15.4 線程同步 

15.4.1 火車站售票系統模擬程序


下面,我們來編寫一個模擬火車站售票系統的程序。我們知道,在實際生活中,多個人可以同時購
買火車票。也就說,火車站的售票系統肯定是采用多線程技術實現的。這里,我們在上面己編寫的
MultiThread程序中再創建一個線程:線程2,然后由主線程創建的兩個線程(線程 1和線程2)負責銷
售火車票。為了創建線程2,可以參照MultiThread.cpp文件中線程1的創建代碼。這時的程序代碼如
例 15-2所示。 
例 15-2 

 
#include <windows .h> 
#include <iostream.h> 

DWORD WINAPI Fun1Proc( 
LPVOID lpParameter / / thread data 

DWORD WINAPI Fun2Proc( 
LPVOID lpParameter // thread data 

int index 0; 
int tickets=100 ; 

void main () 
{ 
HANDLE hThread1; 
HANDLE hThread2; 
/ /創建線程 
hThreadl=CreateThread(NULL, 0, Fun1Proc , NULL , 0, NULL) ; 
hThread2=CreateThread(NULL, 0 ,Fun2Proc , NULL , 0 ,NULL); 
CloseHandle(hThread1); 
CloseHandle(hThread2) ; 

/* while(index++<1000) 
cout<<"rnain thread工 s running"<<end1; 
Sleep(10) ;*/ 
Sleep(4000); 
}
//線程 1的入口函數 
1. DWORD WINAPI Fun1Proc( 
2. LPVOID 1pPararneter 11 thread data 

3. ) 

4. { 

5. /* whi1e(index++<1000) 

6. cout<<"thread1 is running"<<endl;*/ 

7. while (TRUE) 

8. { 

9. if(tickets>0) 


10. cout<<"thread1 sell ticket : "<<tickets一--<<endl; 

1 1. else 
12. break; 

13. } 

14. 

15. return 0; 

16. } 


11線程 2的入口函數 DWORD W工 NAPI Fun2Proc( LPVOID lpPararneter 11 thread data 
while(TRUE) 
if (tickets>0) 
{
cout<<"thread2 sell ticket : "<<tickets--<<endl; 
}
else 
{
break; 
}
return 0; 
}
在上述例 15-2所示代碼中,首先添加了線程 2入口函數 (Fun2Proc)的聲明,然后在 mu函數中調用 
CreateThread函數創建該線程。并且當該線程創建之后,調用 CloseHandle函數將此線程的句柄關
閉。
此外,如例 15-2所示代碼又定義了一個全局的變量: tickets,用來表示銷售的剩余票 
數。本例為該變量賦予初值: 100.也就說新創建的兩個線程將負責銷售 100張票。對于第一個線程
函數 ( FunlProc)來說,先將其中己有的代碼注釋起來。為了讓該線
程能夠不斷地銷售火車票,需要進行一個 while循環。在此循環中,判斷 tickets變量的值,如果
大于 0,就銷售一張票,即輸出" thread 1 sell ticket : ".接著將當前所賣出的票號打印出來,
然后 tickets變量的值減 1;如果 tickets等于或小于 O.則表明票已經賣完了,調用 break 語句終
止 while循環。
對于第二個線程函數 (Fun2Proc)來說,其實現過程與第一個線程函數是一樣的,只是輸出語句是: 
"thread2 sell ticket :"。
對主線程來說,這時需要保證在創建的兩個線程賣完這 100張票之前,該線程不能退出。否則,如
果主線程退出了,進程就結束了,線程 1和線程 2也就退出了。因此,在兩個線程賣完 100張票之
前,不能讓主線程退出。這時,有些讀者可能就會想到可以這樣做 :
為了讓主線程持續運行,讓它進行一個空的 while循環,例如在 main函數的最后添加如下代碼: 
while (TRUE) {} 
要注意的是,采用這種方式,對于主線程來說,它是能夠運行的,并且它將占用 CPU的時間,這樣
就會影響 MultiThread程序執行的效率。因此,為了讓主線程不退出,井且不影響程序運行的效率,
我們可以調用 Sleep函數,并讓其睡眠一段時間,例如 4秒。這樣,當程序執行到 Sleep函數時,
主線程就放棄其執行的權利,進入等待狀態,這時的主線程是不占用 CPU時間的。 

Build并運行 MultiThead程序,將出現如圖 15.9所示的窗口。可以看到線程 1從第 100張票開始銷
售,當該線程執行一段時間后,線程 2開始運行,該線程執行一段時間后,線程 l又繼續執行。線
程 l和線程 2就是按這種方式交替執行,直到銷售完 100張票,即最后打印出最后一張票號:1。可
以看到,線程 l和線程 2在賣票時,銷售的火車票號都是連續的,說明火車票銷售的過
程是正常的。
圖 15.9火車票銷售系統模擬程序運行結果 

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久嫩草精品久久久久| 精品国产乱码久久久久久影片| 久久爱另类一区二区小说| 亚洲自拍都市欧美小说| 成人欧美一区二区三区1314| 国产精品免费看片| 国产精品久久久久久久岛一牛影视| 久久综合九色综合97婷婷| 精品久久久久久久一区二区蜜臀| 精品国产伦一区二区三区观看体验 | 国产欧美一区在线| 欧美激情综合五月色丁香| 国产精品乱人伦| 亚洲美女少妇撒尿| 天堂在线一区二区| 精品中文av资源站在线观看| 国产成人精品一区二区三区四区| 成人av网站在线观看| 一本久道久久综合中文字幕| 精品视频在线免费| 日韩欧美一区中文| 欧美国产成人精品| 最近日韩中文字幕| 天天综合色天天| 国产乱国产乱300精品| 国产精品白丝jk白祙喷水网站 | 中文字幕二三区不卡| 亚洲精品中文字幕乱码三区| 天堂在线亚洲视频| 国产不卡在线视频| 欧美精品一卡二卡| 国产视频视频一区| 午夜视频一区在线观看| 国产美女精品一区二区三区| 色女孩综合影院| 精品91自产拍在线观看一区| 亚洲日本丝袜连裤袜办公室| 蜜臀国产一区二区三区在线播放| 成人白浆超碰人人人人| 日韩一二三区不卡| 亚洲综合偷拍欧美一区色| 国产一区二区三区蝌蚪| 欧美日韩一级二级三级| 国产精品少妇自拍| 青青青爽久久午夜综合久久午夜 | 一区二区三区中文字幕| 免费成人在线视频观看| 在线精品视频免费观看| 久久综合狠狠综合| 日本亚洲一区二区| 欧美制服丝袜第一页| 中文av一区特黄| 国内精品视频一区二区三区八戒| 欧美在线观看视频在线| 亚洲天堂久久久久久久| 狠狠色丁香九九婷婷综合五月| 欧美精三区欧美精三区| 一区二区三区四区在线| 99这里都是精品| 国产日韩成人精品| 国产在线国偷精品产拍免费yy| 日韩三级在线免费观看| 日本成人超碰在线观看| 欧美日韩中文国产| 五月婷婷欧美视频| 欧美日韩一区 二区 三区 久久精品| 亚洲天堂成人在线观看| av资源网一区| 亚洲欧洲99久久| 91女人视频在线观看| 国产精品动漫网站| av亚洲精华国产精华精| 国产精品久久免费看| 成人国产电影网| 亚洲欧洲成人自拍| 日本高清无吗v一区| 亚洲色图制服丝袜| 色婷婷综合久久久| 亚洲一区二区三区在线看| 欧美色电影在线| 日韩高清一区二区| 精品国产乱码久久久久久蜜臀| 激情六月婷婷久久| 国产亚洲人成网站| 91啦中文在线观看| 亚洲第一激情av| 日韩视频一区二区在线观看| 韩国av一区二区三区四区| 欧美精品一区二区三区在线| 国产一区二区三区在线看麻豆| 国产欧美视频一区二区三区| 成人成人成人在线视频| 国产精品成人网| 欧美日韩美少妇| 国产久卡久卡久卡久卡视频精品| 中文字幕精品一区| 欧美影院一区二区三区| 玖玖九九国产精品| 国产精品视频第一区| 欧美日韩亚洲不卡| 国产揄拍国内精品对白| 亚洲日本青草视频在线怡红院 | 国产精品99久久久久久久vr | 一本大道av伊人久久综合| 亚洲成人第一页| 日韩精品影音先锋| 91日韩精品一区| 老司机午夜精品99久久| 亚洲天堂免费看| 精品久久久久久无| 在线日韩国产精品| 国产激情一区二区三区四区 | 欧美刺激脚交jootjob| www.av亚洲| 看电视剧不卡顿的网站| 亚洲人一二三区| 国产亚洲福利社区一区| 欧美在线999| 国产福利一区二区三区视频 | 欧美高清激情brazzers| 国产精品一区二区在线播放 | 99这里只有精品| 精品一区二区在线看| 亚洲高清免费观看| 国产精品理伦片| 337p粉嫩大胆色噜噜噜噜亚洲| 一本大道久久a久久精品综合| 九九九精品视频| 视频一区在线视频| 亚洲国产裸拍裸体视频在线观看乱了 | 美女爽到高潮91| 亚洲国产综合91精品麻豆| 欧美韩日一区二区三区| 精品国产成人系列| 91精品一区二区三区久久久久久| 91网上在线视频| 成人激情校园春色| 成人午夜电影久久影院| 国产裸体歌舞团一区二区| 美女爽到高潮91| 免费观看91视频大全| 五月天欧美精品| 日韩黄色一级片| 日韩中文字幕91| 日韩电影在线观看一区| 午夜精品福利一区二区三区蜜桃| 一区二区三区精品在线| 亚洲男同性视频| 一区二区三区在线视频免费观看| 一区在线中文字幕| 亚洲欧美日韩电影| 亚洲一区二区三区免费视频| 亚洲三级电影全部在线观看高清| 17c精品麻豆一区二区免费| 欧美激情一区二区三区| 国产欧美日本一区二区三区| 欧美国产禁国产网站cc| 国产精品视频在线看| 成人欧美一区二区三区白人| 亚洲欧美电影一区二区| 亚洲午夜精品网| 日韩av中文字幕一区二区| 久久国产精品无码网站| 国产一区二区毛片| 国产999精品久久| 91麻豆视频网站| 欧美色图天堂网| 欧美大片拔萝卜| 国产精品全国免费观看高清| 亚洲精品高清在线观看| 日韩影视精彩在线| 国产精品白丝jk白祙喷水网站| 粉嫩aⅴ一区二区三区四区五区| hitomi一区二区三区精品| 欧美在线一区二区三区| 欧美一区二区三区免费大片| 精品av综合导航| 综合婷婷亚洲小说| 青青草97国产精品免费观看| 国产福利一区二区三区| 91激情在线视频| 久久蜜臀中文字幕| 亚洲影视在线观看| 极品美女销魂一区二区三区免费| 99国内精品久久| 欧美成人一区二区三区在线观看| 国产精品免费久久| 日韩av在线播放中文字幕| 波多野结衣在线aⅴ中文字幕不卡| 欧美性极品少妇| 中文字幕av一区二区三区高 | 精品国产一区二区精华| 国产精品高潮久久久久无| 婷婷国产在线综合| 成人免费三级在线| 欧美一区二区三区性视频| 亚洲欧美区自拍先锋| 国产成人鲁色资源国产91色综| 欧美日韩黄色一区二区| 国产精品午夜在线|