首页 > 编程知识 正文

共享缓冲区是临界资源吗,临界资源有哪些

时间:2023-05-03 21:10:44 阅读:150227 作者:1435

导航:主页

临界资源是什么? 临界区是什么?

问题类型: [问题解答,简答]什么是临界资源? 临界区是什么?

网民:

回答:关键资源是指一次只能访问一个进程的资源,关键部分是指在每个进程中访问关键资源的程序代码。

问题难度:

参考分析:尚未进行分析

网民:

关键部分:通过每个进程访问关键资源的程序称为关键部分。

对临界区域的进程访问必须是互斥的,一次只允许一个进程进入临界区域,其他进程等待。

关键资源是指一次只能访问一个进程的资源,可分为硬件关键资源和软件关键资源。

临界区管理的基本原则是:如果有几个进程需要进入空闲的临界区,一次只能进入一个进程。

在任何时候,临界区内的流程都不能有多个。

如果现有进程进入自己的临界区,则进入所有其他临界区的进程必须等待。

进入临界区的进程在有限的时间内退出,使其他进程可以立即进入自己的临界区。

如果进程不进入自己的极限区域,则发出CPU,避免进程出现“忙等”。

网民:

关键资源是一次只能访问一个进程的资源。

属于关键资源的硬件包括打印机、磁带机等,软件包括消息缓冲队列、变量、数组、缓冲区等。

各进程之间应采用互斥的方式,实现这种资源的共享。

在每个进程中访问关键资源的代码称为关键节。

很明显,如果能确保每个进程独占进入自己的临界区,就可以独占访问每个进程的临界资源。

因此,每个进程在进入临界区域之前,都必须检查想要访问的临界资源,以确定是否已被访问。

如果当前未访问关键资源,则进程可以访问关键部分以访问资源并设置正在访问的标志。 如果进程当前正在访问此关键资源,则此进程将无法进入关键节。

网民:

多个线程访问单个独占共享资源时,可以使用“关键节”对象。

在任何给定时刻,只有一个线程可以具有关键对象,而具有关键部分的线程可以访问受保护的资源或代码段。 希望访问关键节的其他线程将被挂起,直到具有关键节的线程放弃关键节。 这样可以防止多个线程在同一时间点访问共享资源。

rnrnCCriticalSection类很容易使用。 rnrnrnCCriticalSection类定义全局对象,以便每个线程可以访问。 例如,CCriticalSection rn在访问受保护的资源或代码之前,请调用ccriticalsection类的成员Lock ()来访问严重对象CCriticalSection rnrn在线程中调用函数,以便线程可以获取请求的关键节。

此时,如果其他线程没有占用关键节的对象,则调用Lock )的线程将获得关键节; 否则,线程将被挂起并排队等待,直到当前具有关键节的线程释放关键节为止。

rn访问关键节后,请使用CCriticalSection的成员函数Unlock (关键节: critical_section.Unlock ); rnrn更清楚地说,是线程a运行到critical_section.Lock; 对于语句,如果其他线程b正在执行critical_section.Lock; 语句后添加critical_section. Unlock; 对于语句之前的语句,线程a将等待线程b执行完critical_section. Unlock。)。 在执行语句之前,线程a不会执行。

网民:

临界是从一个状态或物理量到另一个状态或物理量的转换的最低转换条件; 或从一种状态或物理量变化为另一种状态或物理量。

压力critical pressure物质处于临界状态时的压力。

在临界温度下使气体液化所需的最小压力。

即液体临界温度下的饱和蒸气压。

氧为4.87MPa49.7kg的力/cm2,氨为11MPa112.2kg的力/cm2,氯为7.46MPa76.1kg的力/cm2等,各自物质的临界压力不同。

区域必须由多个进程独占访问,无论是硬件关键资源还是软件关键资源。

每个进程访问关键资源的代码称为关键节关键资源,它是一次只能由一个进程使用的共享资源。

一次只允许一个进程进入临界区,进入后不允许其他进程进入。

多个过程中涉及同一临界资源的临界区称为相关临界区。

调度规则进程进入临界区域的调度原则是: 1、如果有几个进程要求进入空闲临界区域,则一次只能进入一个进程。

2、在任何时候,临界区内的流程都不能有多个。

如果现有进程进入自己的临界区,则进入所有其他临界区的进程必须等待。

3、进入临界区进程在有限时间内退出,允许其他进程立即进入自己的临界区。

4、如果进程不进入自己的临界区域,应该推出CPU,避免进程“忙等”的现象。

程同步问题 如果有多个线程试图同时访问临界区,那么在有一个线程进入后其他所有试图访问此临界区的线程将被挂起,并一直持续到进入临界区的线程离开。

临界区在被释放后,其他线程可以继续抢占,并以此达到用原子方式操作共享资源的目的。

临界区在使用时以CRITICAL_SECTION结构对象保护共享资源,并分别用EnterCriticalSection)和LeaveCriticalSection)函数去标识和释放一个临界区。

所用到的CRITICAL_SECTION结构对象必须经过InitializeCriticalSection)的初始化后才能使用,而且必须确保所有线程中的任何试图访问此共享资源的代码都处在此临界区的保护之下。

否则临界区将不会起到应有的作用,共享资源依然有被破坏的可能。

温度中文名称:临界温度 英文名称:critical temperature 定义:临界点的温度。

水的临界温度为374.15℃。

应用学科:电力一级学科;通论二级学科临界温度,使物质由气相变为液相的最高温度叫临界温度。

匿名网友:

临界资源是指每次仅允许一个进程访问的资源。

属于临界资源的硬件有打印机、磁带机等,软件有消息缓冲队列、变量、数组、缓冲区等。

诸进程间应采取互斥方式,实现对这种资源的共享。

每个进程中访问临界资源的那段代码称为临界区。

显然,若能保证诸进程互斥地进入自己的临界区,便可实现诸进程对临界资源的互斥访问。

为此,每个进程在进入临界区之前,应先对欲访问的临界资源进行检查,看它是否正被访问。

如果此刻该临界资源未被访问,进程便可进入临界区对该资源进行访问,并设置它正被访问的标志;如果此刻该临界资源正被某进程访问,则本进程不能进入临界区。

,谢谢...

问题推荐

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。