信号量, 生产者消费者问题, 吸烟者问题, 读者-写者问题, 哲学家就餐问题 ...
分类:
系统相关 时间:
2020-06-03 20:47:49
阅读次数:
112
郑楚杭 201821121009 计算1811 1. 选择哪一个问题 选题为哲学家就餐问题 2. 给出伪代码 算法思想: philosopher代表一个哲学家的活动,将其创建为五个不同的线程代表五位不同的哲学家。每位哲学家先思考(伪代码中的think) ,当某位哲学家饥饿的时候(伪代码中的hungr ...
分类:
系统相关 时间:
2020-05-28 14:56:58
阅读次数:
79
哲学家就餐问题是1965年由Dijkstra提出的一种线程同步的问题。 问题描述:一圆桌前坐着5位哲学家,两个人中间有一只筷子,桌子中央有面条。哲学家思考问题,当饿了的时候拿起左右两只筷子吃饭,必须拿到两只筷子才能吃饭。上述问题会产生死锁的情况,当5个哲学家都拿起自己右手边的筷子,准备拿左手边的筷子 ...
分类:
其他好文 时间:
2020-05-01 12:40:20
阅读次数:
84
静态链接库和动态链接库的区别 一个进程可以通过调用waitpid函数来等待它的子进程终止或者停止 Debug和Release的区别 临界区互斥量信号量事件进程互斥与同步 进程有哪几种状态,状态转换图,及导致转换的事件 进程由运行态进入就绪态和阻塞态的原因 进程切换 进程调度算法 死锁 哲学家就餐问题 ...
分类:
编程语言 时间:
2019-12-24 09:46:17
阅读次数:
111
OS ucore lab 7 练习零: 填写已有实验: 练习一:理解内核级信号量的实现和基于内核级信号量的哲学家就餐问题(不需要编码) 完成练习0后,建议大家比较一下(可用kdiff3等文件比较软件)个人完成的lab6和练习0完成后的刚修改的lab7之间的区别,分析了解lab7采用信号量的执行过程。 ...
分类:
其他好文 时间:
2019-12-11 19:38:07
阅读次数:
79
第一节 哲学家就餐问题 第二节 什么是死锁 第三节 死锁的定义 第四节 死锁发生的条件 第五节 如何避免死锁 5.1 动态避免,银行家算法(杠杆分配),在资源分配上下文章 5.2 静态避免,从任务代码上避免死锁 第六节 死锁的综合治理 第一节 哲学家就餐问题 假设有五位哲学家围坐在一张圆形餐桌旁,做 ...
分类:
其他好文 时间:
2019-12-08 23:17:09
阅读次数:
122
1. 使用PV信号量使就餐互斥方案的缺点 将就餐看成必须互斥访问的临界资源, 这样会造成资源(叉子)的浪费.五把叉子, 一次应该有两个不相邻的哲学家同时进餐. 2. 算法实现 数据结构 主函数 功能: 尝试获取两把叉子, 获取不到便阻塞 功能: 放下两把叉子, 并尝试唤醒邻居 拿叉子策略 ...
分类:
其他好文 时间:
2018-11-18 13:33:26
阅读次数:
339
linux下多线程编程本文将介绍linux系统下多线程编程中,线程同步的各种方法。包括:互斥量(mutex)读写锁条件变量信号量文件互斥在介绍不同的线程同步的方法之前,先简单的介绍一下进程和线程的概念, 它们的优缺点,线程相关的API,读者——写者问题和哲学家就餐问题。#基础知识###1. 进程和线 ...
分类:
编程语言 时间:
2018-08-23 02:23:22
阅读次数:
207
本文将介绍linux系统下多线程编程中,线程同步的各种方法。包括: 在介绍不同的线程同步的方法之前,先简单的介绍一下进程和线程的概念, 它们的优缺点,线程相关的API,读者——写者问题和哲学家就餐问题。 基础知识 1. 进程和线程 进程(process)是指在系统中正在运行的一个应用程序,是系统资源 ...
分类:
编程语言 时间:
2018-02-13 18:00:46
阅读次数:
214
哲学家就餐问题:当5个进程的时候如果都同时申请到了1台,就发生死锁了。如果是4个进程,那必然有一个能申请到2台。 虽然进程在运行过程中,可能发生死锁,但死锁的发生也必须具备一定的条件,死锁的发生必须具备以下四个必要条件。 1 )互斥条件:指进程对所分配到的资源进行排它性使用,即在一段时间内某资源只由 ...
分类:
其他好文 时间:
2017-08-08 19:31:37
阅读次数:
101