临界区,互斥量,信号量,事件的区别

您所在的位置:网站首页 信号量与互斥量的区别与联系 临界区,互斥量,信号量,事件的区别

临界区,互斥量,信号量,事件的区别

2024-07-11 09:02| 来源: 网络整理| 查看: 265

四种进程或线程同步互斥的控制方法:1、临界区:通过对多线程的串行化来访问公共资源或一段代码,速度快,适合控制数据访问。 2、互斥量:为协调共同对一个共享资源的单独访问而设计的。 3、信号量:为控制一个具有有限数量用户资源而设计。 4、事件:   用来通知线程有一些事件已发生,从而启动后继任务的开始。

临界区(Critical Section)(同一个进程内,实现互斥,但,无法实现同步,因为其具有“线程所有权”)

#include "stdafx.h" #include #include #include long g_nNum; //全局变量 unsigned int __stdcall Fun(void *pPM); //线程函数 const int THREAD_NUM = 10; //子线程个数 CRITICAL_SECTION g_cs1; CRITICAL_SECTION g_cs2; int _tmain(int argc, _TCHAR* argv[]) { g_nNum = 0; HANDLE handle[THREAD_NUM]; InitializeCriticalSection(&g_cs1); InitializeCriticalSection(&g_cs2); int i = 0; while (i


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3