并发进程

您所在的位置:网站首页 威能壁挂炉操作流程 并发进程

并发进程

2023-12-18 22:23| 来源: 网络整理| 查看: 265

并发进程 1 程序执行的顺序性 1.1 程序执行顺序性

程序执行的顺序性包括两个定义:程序内部的顺序性和程序外部的顺序性

内部:程序内部的顺序性是指单线程进程执行时呈现程序内部的顺序性

外部:程序外部的顺序性是指多个进程之间的顺序执行关系,这人写进程在时间上按照次序严格有效的执行,完成一个作业级的任务。

2 程序执行的并发性 2.1 程序并发性的含义

进程的并发性是指一组进程在执行时间上是重叠的,即一个进程执行的第一条指令是在另一条指令结束前开始的。

并发的实质是一个处理器在几个进程之间的多路复用

2.2 并发程序设计

把一个程序编制成若干个可同时执行的程序模块的方法

如果这些模块属于同一个进程(说明这个程序是一个单线程,这个单线程通过多个线程分别实现这些模块),在进程内部执行,则称为并发多线程程序设计

如果模块属于不同的进程(说明这个程序是通过多个进程实现不同的功能模块),则称为并发多进程程序设计。

2.3 并发进程分类

并发进程之间的关系分为两类:无关的和交互的

无关的并发进程:一组并发进程分别在不同的变量集合上操作

交互的并发进程:一组并发进程共享某些变量

并发进程的无关性是进程的执行与实践无关的一个充分条件,又称为Bernstein条件。相关定义可以参考下方链接。

https://baike.baidu.com/item/Bernstein%E6%9D%A1%E4%BB%B6/5452747?fr=aladdin

大概意思是用这个Bernstein条件用来确定那些进程是可以并发的。

3 与时间有关的错误

对于一组交互并发的进程,若执行的相对速度无法相互控制,则会出现与时间有关的错误,与时间有关的错误有两种表现形式:结果不唯一和永远等待

3.1 结果不唯一

购机票问题,可能会出现同一张票卖给两个乘客的情况,正确的做法是执行购买操作时只能一先一后不能同时执行。

3.2 永远等待

借书还书问题,合作进程之间等待、唤醒之类的同步信号发送次序颠倒时

4 进程的交互 4.1 进程之间的竞争关系

竞争关系时由于并发进程共用一套计算机系统资源引起的

死锁:一组已经获得部分资源的进程等待获得其他进程所占用的资源,最终该组进程陷入死锁僵局

解决方式:进程互斥–若干进程要使用同一共享资源时,最多只允许一个进程使用

饥饿:一个进程由于其他进程总是优于它而被无限期拖延

解决方式:FCFS(先来先服务)策略



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3