热门文章
随机文章
您的位置:主页 > 天下新闻 >

交通灯和管

时间: 2019-09-22 12:15 来源: 点击:
交通灯和管
  6)由于使用红绿灯引起的问题。
代码难以阅读/开发,PV在不同的线程中配对,并且很容易写错。
然后,您首先需要检查资源信号量的值,然后输入临界区(即写入emptyBuffers-P(),然后键入mutex-P())。危急
三,管道工艺
1)概述
管道过程是一种并发编程方案,用于解决关键部分PV操作中的信号量配对问题以及对成对的PV操作进行分组。
它使用条件变量同步机制。
管道和关键部分之间的区别在于管道中的线程暂时放弃对该管道的独占访问,并允许其他线程进入该管道。
只有当线程离开临界区时,临界区中的线程才能放弃对临界区的访问。
2)管过程的配置
如果条件变量的数量为0,则管和关键部分相等。
3)条件变量
条件变量对应于等待队列,每个条件变量都有wait operation()和signal operation()。
4)管道管理生产者 - 执行消费者问题。
首先进入管道过程然后判断。
这是因为管道进程的线程放弃了对管道的独占访问权限,而其他线程访问管道。
(视频说该管可以专注于模块中的光伏操作,我对它有所怀疑。
在我看来,它不仅代表两个交通信号灯作为两个条件变量。
PV仍然分散。
征求意见)
5)释放管状态变量的过程。
进程A被执行,被阻塞,进入等待队列,并进入进程B.有两种方法允许进程B执行信号操作并执行进程A.进程A在执行进程B后执行,其他进程立即更改为进程A.
第二种类型比第一种类型更有效,因此第一种类型更有效,但很容易证明第二种类型是正确的。
前者主要用于实际操作系统和Java,后者主要用于教科书。
第四,哲学家吃掉了这个问题。
选项1:首先将叉子向左,然后将叉子向右,等待,直到你无法得到它。
当五位哲学家同时拿起左叉时,会导致卡纸。
方案2:一次只有一位哲学家可以吃,没有其他人可以吃叉子。
结果是正确的但效率很低。
选项3:允许不同的哲学家按照一定的规则(不同的方向分为偶数和奇数)在不同的方向上分叉,但是有些左手先用叉子我会的有些人先拿右手的叉子。
这将防止方案1中发生死锁。
五,作者的读者问题。