OS算法
qqcoming
Coding make me happy
展开
-
哲学家就餐与经典死锁问题
哲学家死锁问题 死锁发生的原因:由于0号哲学家申请了左边的0号叉子,还没来得及申请到右边的1号叉子,结果1号哲学家又把左边的1号叉子抢了过去,以此类推,,,,4号哲学家申请了左边的4号叉子,又转去申请0号叉子,结果是五个哲学家都同时拿起了左叉子而拿不到右叉子,最终进入了死循环从而导致了死锁现象。为了防止这种情况发的发生,我们可以有以下两种解决方案: 解决方案一:定义一个信号量,让每次只允许最多四...原创 2020-04-02 21:48:46 · 1314 阅读 · 0 评论 -
利用信号量操作系统经典同步问题生产者和消费者
解决生产者和消费者的同步与互斥问题 package Test; import java.util.concurrent.Semaphore; public class ProducerandConsumer { public static void main(String[] args) { Warehouse warehouse =new Warehouse(); Prod...原创 2020-03-24 11:57:49 · 343 阅读 · 0 评论 -
Pterson算法解决操作系统的互斥现象
Pterson算法解决操作系统的互斥现象,示例代码如下: package Test; public class Peterson { public static void main(String[] args) throws InterruptedException { //1.创建了一个账户,初始2000; Account1 account = new Account1(2000); ...原创 2020-03-12 16:46:25 · 151 阅读 · 0 评论 -
Dekker算法解决操作系统中互斥现象
Dekker算法解决操作系统中互斥现象,代码如下: package Test; public class Dekker { public static void main(String[] args) throws InterruptedException { //1.创建了一个账户,初始2000; Account account = new Account(2000); //2.创...原创 2020-03-12 16:40:06 · 405 阅读 · 0 评论