时间:2021-05-02
在多线程的程序里,不同的线程可以做不同的事情,下面演示一个多线程的例子。
// 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;}
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
在C++11以前,C++的多线程编程均需依赖系统或第三方接口实现,一定程度上影响了代码的移植性。C++11中,引入了boost库中的多线程部分内容,形成C++标
linux下的C\C++多进程多线程编程实例详解1、多进程编程#include#include#includeintmain(){pid_tchild_pid;
C++本身并没有提供任何多线程机制,但是在windows下,我们可以调用SDKwin32api来编写多线程的程序,下面就此简单的讲一下:创建线程的函数复制代码代
本文主要接着前面多线程的两篇文章总结Java多线程中的线程安全问题。一.一个典型的Java线程安全例子publicclassThreadTest{publics
java多线程卖票直接先看个例子:publicclassSelTicketsMainTest{publicstaticvoidmain(String[]args