c++实现多线程之小试牛刀
2010-08-16 22:01
246 查看
#include <cstdlib>
#include <iostream>
#include <windows.h>
using namespace std;
CRITICAL_SECTION cs;
int a=0;
DWORD WINAPI ThreadFuncA(LPVOID lp)
{
while(a<100)
{
EnterCriticalSection( & cs);
cout<<"ThreadA a = "<<a<<endl;
a++;
LeaveCriticalSection( & cs);
Sleep(200);
}
return 0;
}
DWORD WINAPI ThreadFuncB(LPVOID lp)
{
while(a<100)
{
EnterCriticalSection( & cs);
cout<<"ThreadB a = "<<a<<endl;
a++;
LeaveCriticalSection( & cs);
Sleep(200);
}
return 0;
}
int main(int argc, char *argv[])
{
InitializeCriticalSection( & cs);
HANDLE Thread[2];
Thread[0]=CreateThread(NULL,0,(LPTHREAD_START_ROUTINE)ThreadFuncA,NULL,0,NULL);
Thread[1]=CreateThread(NULL,0,(LPTHREAD_START_ROUTINE)ThreadFuncB,NULL,0,NULL);
WaitForMultipleObjects(2,Thread,TRUE,100000);
DeleteCriticalSection( & cs);
CloseHandle (Thread);
system("PAUSE");
return EXIT_SUCCESS;
}
#include <iostream>
#include <windows.h>
using namespace std;
CRITICAL_SECTION cs;
int a=0;
DWORD WINAPI ThreadFuncA(LPVOID lp)
{
while(a<100)
{
EnterCriticalSection( & cs);
cout<<"ThreadA a = "<<a<<endl;
a++;
LeaveCriticalSection( & cs);
Sleep(200);
}
return 0;
}
DWORD WINAPI ThreadFuncB(LPVOID lp)
{
while(a<100)
{
EnterCriticalSection( & cs);
cout<<"ThreadB a = "<<a<<endl;
a++;
LeaveCriticalSection( & cs);
Sleep(200);
}
return 0;
}
int main(int argc, char *argv[])
{
InitializeCriticalSection( & cs);
HANDLE Thread[2];
Thread[0]=CreateThread(NULL,0,(LPTHREAD_START_ROUTINE)ThreadFuncA,NULL,0,NULL);
Thread[1]=CreateThread(NULL,0,(LPTHREAD_START_ROUTINE)ThreadFuncB,NULL,0,NULL);
WaitForMultipleObjects(2,Thread,TRUE,100000);
DeleteCriticalSection( & cs);
CloseHandle (Thread);
system("PAUSE");
return EXIT_SUCCESS;
}
相关文章推荐
- 多线程程序设计之创建线程(Windows下C++实现)
- C++:多线程类库的设计与实现(四)
- 多线程套接字编程-----程序实例(C++实现)
- C++中利用多线程实现定时器
- C++中 volatile关键字,实现多线程编程必备
- C++之多线程(C++11 thread.h文件实现多线程)
- C++实现多线程
- 通过例子学设计模式之--单例模式以及多线程下说明(C++实现)
- C++:多线程类库的设计与实现(五)
- c++中实现多线程的简单实例
- C++多线程编程例子 Demo 关键代码段 临界区 实现线程同步
- C++中利用多线程实现定时器
- Linux平台上用C++实现多线程互斥锁
- Win32下两种用于C++的线程同步类(多线程实现加锁解锁)
- c++如何实现多线程
- c++多线程单例模式实现
- C++之多线程(C++11 thread.h文件实现多线程)
- 多线程实现文件拷贝(Linux下C++)
- linux下 C++如何实现多线程
- c++多线程队列的实现