考点介绍:
在多道程序环境下,进程是并发执行的,不同进程之间存在着不同的相互制约关系。我们把异步环境下的一组并发进程因直接制约而互相发送消息、进行互相合作、互相等待,使得各进程按一定的速度执行的过程称为进程间的同步。
本期分享的java专业课之进程同步,分为试题、文章以及视频三部分。
答案详情解析和文章内容可扫下方二维码或链接即可查看!
一、考点题目
1.简述进程同步的四种方法
解答:1、临界区(Critical Section):通过对多线程的串行化来访问公共资源或一段代码,速度快,适合控制数据访问。2、互斥量(Mutex):为协调共同对一个共享资源的单独访问而设计的。互斥量跟临界区很相似,比临界区复杂,互斥对象……
2.进程同步是进程与进程间的间接制约问题,进程互斥是进程与进程间的直接制约问题
A.正确
B.错误
正确答案: B,进程之间存在直接制约关系(即同步问题)和间接制约关系(即互斥问题);同步问题是存在逻辑关系的进程之间相互等待所产生的制约关系,互斥问题是相互逻辑关系的进程竞争使用资源……
3.设有一缓冲池 P , P 中含有 20 个可用缓冲区,一个输入进程将外部数据读入 P ,另有一个输出进程将 P 中数据取出并输出。若进程每次操作均以一个缓冲区为单位,试用记录型信号量写出两个进程的同步算法。
解答:与生产者和消费者问题一样,只是 empty 的初始值设为 20 即可,参考代码:……
4.系统中有多个生产者进程和消费者进程,共享用一个可以存 1000 个产品的缓冲区(初始为空),当缓冲区为未满时,生产者进程可以放入一件其生产的产品,否则等待;当缓冲区为未空时, 消费者进程可以取走一件产品, 否则等待。 要求一个消费者进程从缓冲区连续取出 10件产品后,其他消费者进程才可以取产品,请用信号量 P, V( wait , signed )操作实现进程间的互斥和同步,要求写出完整的过程;并指出所用信号量的含义和初值。
解答:本题是一个生产者-消费者的变型,本题是多个生产者-多个消费者类型,生产者和消费者之间并不互斥访问缓冲区,但生产者和生产者之间, 消费者和消费者之间要互斥访问缓冲区,并且本题的消费者一次需要取走 10 件产品,如果没有它会等待,而不是等到有了 10件产品后, 才进行取走操作。本题的缓冲区B……
(答案点击下方链接或者扫海报二维码查看哦)
二、考点文章
1.进程同步(操作系统)
进程同步的基本概念:临界资源、同步和互斥,在多道程序环境下,进程是并发执行的,不同进程之间存在着不同的相互制约关系。为了协调进程之间的相互制约关系,引入了进程同步的……2.进程同步
进程同步,协作进程是可以在系统内执行的其他进程相互影响的进程。互相协作的进程可以直接共享逻辑地址空间(即代码和数据),或者只通过文件或消息来共享数据。前者可通过轻量级进程或线程来实现。共享数据的并发访问……
3.【校招VIP】Java入门到精通——基础篇之多线程实现简单的PV操作的进程同步
PV操作是对信号量进行的操作。进程同步是指在并发进程之间存在一种制约关系,一个进程的执行依赖另一个进程的消息,当一个进程没有得到另一个进程的消息时应等待,直到消息到达才被唤醒。举例:就像消费者与……
(扫下方海报二维码查看完整版)
三、考点视频
1.进程和线程的关系?
一个程序至少有一个进程,一个进程至少有一个线程,线程的划分尺度小于进程,使得多线程程序的并发性高。
太给力了 醍醐灌顶