亚洲必赢官方登录网址

亚洲必赢官方登录网址-官网

亚洲必赢官方登录网址专注全球体育投注,提供丰富多种的精彩优惠。bwin国际内容涵盖英超、意甲、西甲、德甲及欧洲冠军联赛等等,bwin娱乐平台为增加滚球盘的兴奋感受,我们还特别推出了现场链接

亚洲必赢官方登录网址,必赢国际网址bwin,bwin官网网站

关于临界区与互斥量

发布时间:2019-11-11 15:18 来源:/yazhoubiyingguanfangdengluwangzhi/2019/1111/21.html 分类:亚洲必赢官方登录网址

  保证在某一时刻只有一个线程能访问数据的简便办法。在任意时刻只允许一个线程对共享资源进行访问。如果有多个线程试图同时访问临界区,那么在有一个线程进入后其他所有试图访问此临界区的线程将被挂起,并一直持续到进入临界区的线程离开。临界区在被释放后,其他线程可以继续抢占,并以此达到用原子方式操作共享资源的目的。

  互斥量跟临界区很相似,只有拥有互斥对象的线程才具有访问资源的权限,由于互斥对象只有一个,因此就决定了任何情况下此共享资源都不会同时被多个线程所访问。当前占据资源的线程在任务处理完后应将拥有的互斥对象交出,以便其他线程在获得后得以访问资源。互斥量比临界区复杂。因为使用互斥不仅仅能够在同一应用程序不同线程中实现资源的安全共享,而且可以在不同应用程序的线程之间实现对资源的安全共享。

  问题是:临界区如何确定哪些是共享资源。是否就是EnterCriticalSection()和LeaveCriticalSection()之间的部分的变量?如果一个函数位于这之间,是否也算是共享资源?访问会受到限制?

  从进入临界区/获得互斥量到离开临界区/释放互斥量中间的代码都会被保护,不允许其它线程进入执行

  同步对象最好只保护变量,不要将函数调用放入其中,很危险,控制不好可能死锁