首页 > 试题广场 >

同步信号量的初值一般为1。

[单选题]
同步信号量的初值一般为1。
同步信号量的初值一般设为0;
互斥信号量的初值一般设为1;
发表于 2016-07-13 14:01:42 回复(0)
更多回答
同步信号量的初值一般设为0;
互斥信号量的初值一般设为1;
发表于 2015-05-28 15:36:41 回复(1)
同步信号量的用途:防止被抢占 初始为空
低优先级的任务持有信号量,高优先级的任务需要这个信号量,只有当低优先级的任务give(释放)信号量,高优先级的任务才能take(获取)信号量。通过这种机制低优先级的任务就可以防止被高优先级的任务抢占。give和take是分别在两个任务里做的。
 
互斥信号量的用途:对临界区上锁 初始为满
当一个任务想对临界区访问时,为了防止别的任务也对该临界区操作,它需要对该临界区上锁,即take(获取)一个互斥的信号量,以保证独享。当该任务take(获取)一个互斥的信号量以后,它仍然能被高优先级的任务抢占,但高优先级的用户仍然无法访问它已经上锁的临界区。而解锁也是由上锁的任务来做的。take和give是在一个任务里完成的。
 
发表于 2015-09-02 21:49:58 回复(0)
同步信号量,值为资源可以使用的个数,信号量小于0,则线程进行等待,信号量大于0,表示可用资源个数。初始值0.
互斥信号量只有两个值0或1,0表示资源正在被占用,线程等待。1表示,资源没有被使用,线程可以进入。初始值为1
发表于 2018-09-26 11:30:13 回复(0)
同步信号量一般初值为0 互斥信号量初值一般为1
发表于 2022-04-22 08:52:54 回复(0)
同步信号量一般初值为0
互斥信号量初值一般为1
发表于 2020-08-20 13:52:16 回复(0)
同步信号量的初值一般设为0;
互斥信号量的初值一般设为1
发表于 2020-03-04 12:57:52 回复(0)
同步信号量的初值一般设为n;
互斥信号量的初值一般设为1;

发表于 2021-01-30 18:59:24 回复(0)
同步信号量表示可用的资源数量,初始值为0;互斥信号量的值只能为0或1,表示该资源是否被占用,1表示空闲,0表示被占用,初始值为1。
发表于 2023-08-04 17:11:54 回复(0)
这么来记忆,1表示可用,同步信号量初始可用,所以初值为1,异步信号量初始不可用,所以初值为零。

不完全正确。在一般情况下,同步信号量的初值为1,互斥信号量的初值为0。这是因为同步信号量用于控制资源的访问和共享,而互斥信号量用于实现互斥访问。

具体解释如下:

1. 同步信号量:同步信号量用于通过对其进行 P(等待)和 V(发出信号)操作来控制对临界区或共享资源的访问。初始值为1,表示资源可用。当一个进程或线程需要访问该资源时,它会尝试执行 P 操作,如果同步信号量的值为1,则可以继续执行,否则需要等待其他进程或线程的信号。这样可以保证同一时间只有一个进程或线程可以访问共享资源。

2. 互斥信号量:互斥信号量用于实现互斥访问,即确保同一时间只有一个进程或线程可以进入临界区。初始值为0,表示资源被占用。当进程或线程需要进入临界区时,需要执行 P 操作。如果互斥信号量的值为0,表示资源被占用,进程或线程需要等待。只有当临界区中的进程或线程执行 V 操作后,互斥信号量的值变为1,其他进程或线程才能进入临界区。

要注意的是,互斥信号量也可以使用二进制信号量来实现,其中初值为1,表示资源可用,而不是0。但在一般情况下,初值为0更具描述性,更容易理解。

因此,同步信号量初值为1,互斥信号量初值为0是一个更准确的说法。

发表于 2023-07-11 12:52:15 回复(0)
同步信号量的初值一般为0
互斥信号量的初值一般为1
发表于 2018-12-30 22:13:12 回复(0)
同步信号量的初值一般设为0;
互斥信号量的初值一般设为1;
发表于 2017-04-20 08:35:40 回复(0)
同步信号量的初值一般为0,互斥信号量的初值一般为1.
发表于 2016-12-17 01:52:56 回复(0)
同步信号量的作用是防止被抢占,初始为0,give(释放)与take(获取)信号量的操作在两个任务完成;互斥信号量的作用是对临界区上锁,初始为1,give(释放)和take(获取)锁的操作在一个任务完成。所以本题叙述是错误的。
发表于 2015-12-23 13:39:29 回复(0)