读写锁
#include <Windows.h>
#include <tchar.h>
#include <stdio.h>
#include <process.h>
#include <winbase.h>
// 读写锁
SRWLOCK srwLock;
unsigned WINAPI ReadThread1(LPVOID)
{
while(1)
{
AcquireSRWLockShared(&srwLock);
printf("read 1111\n");
ReleaseSRWLockShared(&srwLock);
Sleep(500);
}
return 0;
}
unsigned WINAPI ReadThread2(LPVOID)
{
while(1)
{
AcquireSRWLockShared(&srwLock);
printf("read 2222222222\n");
ReleaseSRWLockShared(&srwLock);
Sleep(500);
}
return 0;
}
unsigned WINAPI WriteThread(LPVOID)
{
while(1)
{
AcquireSRWLockExclusive(&srwLock);
printf("write\n");
ReleaseSRWLockExclusive(&srwLock);
Sleep(1000);
}
return 0;
}
int main()
{
InitializeSRWLock(&srwLock);
CloseHandle(
(HANDLE)_beginthreadex(NULL, 0, ReadThread1, NULL, 0, NULL) );
CloseHandle(
(HANDLE)_beginthreadex(NULL, 0, ReadThread2, NULL, 0, NULL) );
CloseHandle(