www.pudn.com > os_example.rar > InterlockedIncrement.cpp


#include   
#include   
#include  
#include   
#define THREAD_INSTANCE_NUMBER	3 
 
//全局变量 
LONG lCounter=0; 
 
DWORD SubThread(void * pD) 
{ 
	int iTemp=(int)pD; 
		cout << "SubThread"  << iTemp << endl; 
	for(long i=0;i<8;i++) 
	{ 
		InterlockedIncrement(&lCounter); 
		long lCopy=lCounter; 
		Sleep(100); 
		cout << "thread " << iTemp <<":" << lCopy << endl; 
	} 
	return 0; 
} 
 
void main(void) 
{ 
    cout << "CreateThread" << endl; 
 
	// Create a thread; 
	DWORD IDThread[THREAD_INSTANCE_NUMBER];  
   	HANDLE hThread[THREAD_INSTANCE_NUMBER]; 
	int i; 
 
	//创建线程 
	for (i=0;i