hur.cn - 华软网

 热门搜索

关于关键段的一个问题

  作者:未知    来源:网络    更新时间:2011/5/13
请问除内存不足,另有那些因素会致使两个或以上的线程争夺关头段?WIN XP以前的系统内存不足会致使关头段的争夺,这是什么原因?
---华软 网友回答---
... LZ小白..争夺关头段. 是自己写代码,进入cs..
---华软网友回复---
引用 1 楼 smwhotjay 的回复:
... LZ小白..争夺关头段. 是自己写代码,进入cs..

Windows焦点编程 第五版 里以下写到

"在运用关头段的时候还可能产生另一个问题.如果有两个或两个以上的线程在统一时刻正果统一个关头段,那么关头段会在内部运用一个事件内核对象..........  由于大多数关头段历来都不会发生争夺现象"

"Windows XP之前,在内存不足的情况下可能会发生争夺关头段的现象.."
---华软网友回复---
引用 2 楼 call_of_duty 的回复:
引用 1 楼 smwhotjay 的回复:

... LZ小白..争夺关头段. 是自己写代码,进入cs..

Windows焦点编程 第五版 里以下写到

"在运用关头段的时候还可能产生另一个问题.如果有两个或两个以上的线程在统一时刻正果统一个关头段,那么关头段会在内部运用一个事件内核对象..........  由于大多数关头段历来都不会发生争夺现象"

"Windows XP之……

请问列位大牛能帮助解答下吗?谢谢
---华软网友回复---
算了...散分吧.....
---华软网友回复---
所谓的“关头段”一般称为临界区,是实现进程内多线程互斥的经常运用方法。所谓“争夺关头段”就是一个线程以进入临界区(还没有离开),而又有其它线程要进入临界区。在首次发生“争夺”时,程序会自动创建一个内核事件,并期待该事件状态,当前一个线程离开临界区时会设置该事件通知正在期待的线程。若再次发生“争夺”,则利用前面已经创建的内核事件,无须再创建。期待和设置内核对象需要的时间较长,而很多情况下,线程间其实不会出现“争夺关头段”的情况,所以利用临界区实现线程互斥比直接运用内核事件效率高。
---华软网友回复---
和内存没有关系吧
---华软网友回复---
内存不足时频繁出现页故障,程序运行速度很慢,相对而言线程切换越发频繁,所以“争夺”的可能性就变大了。      
华软声明:本内容来自网络,如有侵犯您版权请来信指出,本站立即删除。