3
A
回答
5
一般来说,关键区域是一个地方,如果存在两个独立的执行线程,则会出现竞态条件或其他不良影响。信号量是防止两个线程在同一时间点处于关键区域的一种方式。
2
GUARD一次只允许1个线程进入关键区域,而信号量可以允许n个线程(您指定n)同时进入关键区域。
0
还有“临界区”的两种解释:
的代码,如果由两个线程同时执行,将产生不确定的结果的区域。
与除当前线程以外的所有执行程序隔离的代码区域。这个例子就是一个中断处理程序。这些地区通常被称为“关键部分”。在Intel CPU上,您可以使用CLI/STI指令开始/结束关键部分。
+0
请注意,在虚拟内存的操作系统,CLI/STI可能不足以防范关键部分。如果代码尝试访问不是立即可用的内存页面,则无论是否启用异步中断,都会触发中断。 “期望”是,该中断将从磁盘获取必要页面并返回到正在执行的代码,但硬件中的任何内容都不会阻止操作系统在等待所需页面被读取时执行任何其他线程。 – supercat 2012-11-19 17:19:13
1
当一个进程执行操纵共享数据(或资源)的代码,我们说该方法是在它的关键部(CS)(用于共享数据) 和信号灯使用非负整数变量作为标志和 信号如果和当资源是免费的
相关问题
- 1. javascript临界区或信号量问题
- 2. SIGCLD和SIGCHLD信号有什么区别?
- 3. 信号量和互斥量在实现中有什么区别?
- 4. 在windows中,有名和无名信号量有什么区别?
- 5. 区域激活和区域RequestNavigate有什么区别?
- 6. 实现Qt临界区域
- 7. “interned”和“uninterned”符号有什么区别
- 8. nohup和&符号有什么区别
- 9. IND和NAN号码有什么区别
- 10. Mysql临时表和oracle临时表有什么区别
- 11. 在C++中使用临界区/信号量
- 12. 有界和无界设备有什么区别?
- 13. 有什么区别`和$(Bash中有什么区别?
- 14. TARGET_ARCH和TARGET_MACH变量有什么区别?
- 15. 变量的=和=>有什么区别?
- 16. definePlugin和env变量有什么区别?
- 17. 对象和变量有什么区别?
- 18. 区域设置有什么区别:zh_CN,zh_CN.utf8和zh_CN.UTF-8
- 19. 段,卷和分区有什么区别?(在存储域中)
- 20. 区域设置和编码(终端)有什么区别
- 21. 有什么区别? :和||
- 22. &&和||有什么区别?
- 23. “/”和“/ *”有什么区别?
- 24. 有什么区别:。!和:r!?
- 25. ==和===有什么区别?
- 26. Appender和〜有什么区别?
- 27. $ @和$ *有什么区别?
- 28. is和=有什么区别?
- 29. #.00和#。##有什么区别?
- 30. `==`和`is`有什么区别?
将研究更多然后slw answr,thnku耐心 – user287745 2010-08-28 06:36:20