操作系统
文章平均质量分 54
demo易
带你玩转编程世界,一起学习,一起进步。
展开
-
java实现生产者与消费者
生产者与消费者模式是一种经典同步案例 下面我用代码来描述一下这个同步该如何实现 实现基于lock+Condition 模式import java.util.ArrayList;import java.util.List;import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;imp原创 2017-07-14 17:57:13 · 680 阅读 · 1 评论 -
用java实现操作系统的前趋图
学过操作系统的人都知道前驱图是一个很好用来描述多个进程或线程间的同步执行的过程 科普一下同步的概念:同步是用来描述多个并发线程或进程按某种规则顺序执行的过程。 首先我们来看一下最简单的前趋图 java如何实现了 有俩种方式 第一种基于Lock+Condition方式import java.util.concurrent.ExecutorService;import java.util原创 2017-07-14 16:25:51 · 2006 阅读 · 1 评论 -
java实现哲学家进餐问题,及其死锁问题的解决
首先我们来了解一下哲学家进餐问题的背景: 话说有5个哲学家围在一张桌子上吃饭,桌上只有5g根筷子,一个要吃饭必须的得有两根筷子,哲学家要吃饭时总是先拿起左边的筷子,在拿起右边的筷子,这样最佳的情况是可同时有两人可以进餐,最坏的情况是大家都拿起了左边的筷子,大家都没得吃。哲学家吃完时会停下来思考一段时间,等饿了在吃。 下面我们来看一下java如何模拟哲学家进餐问题import java.util.原创 2017-07-15 15:34:37 · 9880 阅读 · 3 评论 -
java实现读者-写者问题
问题背景:一个数据文件或记录,可以被多个进程或者线程共享,其中不同的读进程可以并发的访问该临界资源,读和写进程或者线程,不能并发的对该临界资源进行错误,否则造成脏读和脏写。而我们今天的读者和写者模式 也成为读写锁,不过这里以信号量的方式进行互斥操作,就可以解决这个问题。 下面来看代码import java.util.concurrent.ExecutorService;import java.u原创 2017-07-15 17:53:17 · 4793 阅读 · 1 评论 -
操作系统之进程
首先我们来了解一下进程是什么鬼: 一 进程是程序的一个执行过程,是进程实体的一个运行过程,是操作系统分配资源和调度的独立单位。 进程有PCB +程序段+数据段等构成。 PCB (进程控制块)数据结构有,进程标识符+处理机信息+进程调度信息+进程控制信息组成。 PCB的作用:系统创建一个新进程时就会,创建一个PCB,进程结束时,又收回PCB ,进程也随之消亡,系统是通过PCB 来感知进程的存原创 2017-07-15 20:54:37 · 603 阅读 · 0 评论 -
操作系统之线程
一. 首先我们来看一下线程是什么鬼: 上一章我们学的进程,其实线程说白就是一个轻进程,线程是可以拥有极小的资源,它属于进程,并和多个线程共享该进程的资源,是OS 资源分派和调度的基本单位,线程可以独立运行,也具有并发性。线程的创建速度比进程快,线程间的切换,资源的开销比进程要少很多。 线程具有6大特性,1.独立性,2.支持多处理机,3拥有资源,4并发性,5。是调度的基本单位,6.系统开销少。原创 2017-07-16 12:46:58 · 378 阅读 · 0 评论 -
用java实现银行家算法
银行家算法核心是 先寻找满足系统当前剩余的资源量(avaliable )>=进程运行所需的资源数的进程(need),再假设这个进程安全校验是成功的,当这个进程运行完毕后,释放资源后,现在系统当前剩余的资源(avaliable)=avaliable+该线程之前已分配的资源(allocation) ,将该节点进程设为处理时忽略进程,再以上条件为前提进行安全校验。最后不断重复此步骤直到找出安全的执行序列原创 2017-07-17 15:00:45 · 7602 阅读 · 1 评论 -
史上最简单的kafka实战教程
你在写java 版的 kafka程序可能会遇到如下问题问题一:程序抛出了org.apache.kafka.common.errors.TimeoutException:在application.yml 中加入下面这句话 :logging.level.root:debug然后再看报错,可以发现下面这个错误错误:java.io.IOException: Can't resolve address: u...原创 2018-06-26 16:07:28 · 5351 阅读 · 1 评论