国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C++ > 正文

C++多線程的例子

2023-06-05 11:58:37
字體:
來源:轉載
供稿:網友

在多線程的程序里,不同的線程可以做不同的事情,下面演示一個多線程的例子。

// MultiThread.cpp : 定義控制臺應用程序的入口點。
//

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

using namespace std;
int tickets = 100;
HANDLE hMutex;

DWORD WINAPI Fun1Proc(LPVOID lp);
DWORD WINAPI Fun2Proc(LPVOID lp);

int _tmain(int argc, _TCHAR* argv[])
{
HANDLE hThread1,hThread2;
hThread1 = CreateThread(NULL,0,Fun1Proc,NULL,0,NULL);
hThread2 = CreateThread(NULL,0,Fun2Proc,NULL,0,NULL);
CloseHandle(hThread1);
CloseHandle(hThread2);
hMutex = CreateMutex(NULL,FALSE,NULL);

Sleep(2000);
system("pause");
return 0;
}

DWORD WINAPI Fun1Proc(LPVOID lp)
{
while(1)
{
 WaitForSingleObject(hMutex,INFINITE);
 if(tickets > 0)
 {
 Sleep(10);
 cout << "thread1 sell ticket." << tickets-- <<endl;
 }
 else
 break;
 ReleaseMutex(hMutex);
}
return 0;
}

DWORD WINAPI Fun2Proc(LPVOID lp)
{
while(1)
{
 WaitForSingleObject(hMutex,INFINITE);
 if(tickets > 0)
 cout << "thread2 sell ticket." << tickets-- <<endl;
 else
 break;
 ReleaseMutex(hMutex);
}
return 0;
}

上一篇:VC中導出C++類的方法

下一篇:C++起源

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 河曲县| 长春市| 谷城县| 垣曲县| 大新县| 左贡县| 广丰县| 温泉县| 江都市| 朔州市| 鹤峰县| 泾源县| 荣成市| 南投县| 毕节市| 马公市| 西和县| 长葛市| 益阳市| 广饶县| 江川县| 长乐市| 南开区| 黔西| 建水县| 康乐县| 望奎县| 黄平县| 绩溪县| 延吉市| 咸阳市| 甘孜县| 洛扎县| 弥勒县| 赣榆县| 扎囊县| 乌兰察布市| 安陆市| 临泉县| 上思县| 陆丰市|