天天看点

C++创建线程并操作临界资源

1.创建线程并返回线程句柄,AcceptThread为线程函数

HANDLE hThreadAccept;

unsigned long ulThreadId;

hThreadAccept = CreateThread(NULL, 0, AcceptThread, NULL, 0, &ulThreadId);  

2.在临界区操作临界资源,下面代码为线程函数AcceptThread中的部分代码

typedef list<CClient*> CLIENTLIST; //客户端链表

CLIENTLIST clientlist; //管理连接的链表--->临界资源

CRITICAL_SECTION csClientList; //保护链表的临界区对象

EnterCriticalSection(&csClientList);//进入临界区,临界资源clientlist每次只允许一个线程访问