竞争条件
两个或多个进程读写某些共享数据,而最后的结果取决于进程运行的精确时序,称为竞争条件。凡涉及到资源的共享时就容易发生这样的事情。解决的办法是设立临界区,让进程互斥地访问共享资源。一个好的避免竞争条件的方案,必须满足4个条件:
任何两个进程不能同时处于临界区。不应对CPU的速度和数量做任何假设。临界区外运行的进程不得阻塞其它进程。不得让进程无限期等待进入临界区。
忙...
分类:
其他好文 时间:
2014-07-13 15:52:18
阅读次数:
256
临界资源是指每次仅允许一个进程访问的资源。
属于临界资源的硬件有打印机、磁带机等,软件有消息缓冲队列、变量、数组、缓冲区等。 诸进程间应采取互斥方式,实现对这种资源的共享。
每个进程中访问临界资源的那段代码称为临界区。显然,若能保证诸进程互斥地进入自己的临界区,便可实现诸进程对临界资源的互斥...
分类:
其他好文 时间:
2014-05-23 23:34:48
阅读次数:
422
用信号量实现进程互斥示例:
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
union semun {
int ...
分类:
其他好文 时间:
2014-05-22 13:15:44
阅读次数:
231