作为一个菜,通过自学完成了老师给的目标,小有激动,最要感谢的网上一个多线程的程序给我的灵感。代码如下:
#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);
}
好好学习,多线程编程如此的重要,一定要搞通。