- 博客(5)
- 收藏
- 关注
原创 信号量+临界区实现线程间的同步
#include #include using namespace std; int g_count = 0; HANDLE hSemaphore = NULL; CRITICAL_SECTION g_cs; DWORD WINAPI ThreadProc(PVOID pParam) { int nThreadNum = *(int *)pParam; ReleaseSemaphore
2015-05-08 00:42:15
312
原创 自动重置事件+临界区实现线程间同步
该示例与上一篇的《手动重置事件+临界区实现线程间同步》的不同点就是事件的类型不同,并且不需要调用ResetEvent函数 #include #include using namespace std; int g_count = 0; HANDLE hEvent = NULL; CRITICAL_SECTION g_cs; DWORD WINAPI ThreadProc(PVOID pPa
2015-05-08 00:35:04
428
原创 手动重置事件+临界区实现线程间的同步
临界区:只能实现子进程之间的同步,即控制子进程之间访问资源的互斥性,无法实现父线程和子线程之间的同步 事件:不仅可以实现子进程之间的同步,也可以实现父子进程之间的同步 示例一:使用手动重置事件实现父子进程之间的同步,使用临界区实现子进程之间的同步(即互斥) 该示例以及下面的示例二和三,都要同步两种数据,一种是全局资源g_count,另一种是父子线程之间的传递数据i,前者有事件完成,后者有临界
2015-05-08 00:27:59
505
原创 互斥量的使用
#include #include using namespace std; int g_nIndex = 0; const int MAX_TIMES = 20; DWORD g_dwTimes[MAX_TIMES]; HANDLE g_hMutex = NULL; DWORD WINAPI FirstThread(LPVOID lpvThreadParm); DWORD WINAPI
2015-05-03 23:31:17
336
原创 临界区的使用
#include #include using namespace std; int nCount = 0; CRITICAL_SECTION cs; DWORD WINAPI Thread1(PVOID pParam); DWORD WINAPI Thread2(PVOID pParam); int main(int argc, char *argv[]) { InitializeC
2015-05-03 19:06:27
352
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅