作为一个菜,通过自学完成了老师给的目标,小有激动,最要感谢的网上一个多线程的程序给我的灵感。代码如下:
#include "stdafx.h"
#include <string>
#include <iostream>
#include <stdio.h>
#include<windows.h>
using namespace std;
int num = 100; //模拟售票系统,共100张票
DWORD WINAPI Fun1(LPVOID lpParameter)
{
while (num != 0)
{
cout<<"Fun1: "<<num<<endl;
num -= 1;
Sleep(500);
}
return 0;
}
DWORD WINAPI Fun2(LPVOID lpParameter)
{
while (num != 0)
{
cout<<"Fun2: "<<num<<endl;
num -= 1;
Sleep(500);
}
return 0;
}
void main()
{
HANDLE thread1;
HANDLE thread2;
thread1=CreateThread(NULL,0,Fun1,NULL,0,NULL);
thread2=CreateThread(NULL,0,Fun2,NULL,0,NULL);
while (num != 0)
{
cout<<"main: "<<num<<endl;
num -= 1;
Sleep(1000);
}
Sleep(3000); //3s后关闭线程
CloseHandle(thread1);
CloseHandle(thread2);
}
好好学习,多线程编程如此的重要,一定要搞通。
本文分享了一个简单的多线程程序实例,模拟了一个售票系统的运作过程。通过两个线程Fun1和Fun2以及主线程main共同操作全局变量num来实现售票逻辑,并探讨了多线程编程的重要性。
3万+

被折叠的 条评论
为什么被折叠?



