并发进程 |
您所在的位置:网站首页 › 威能壁挂炉操作流程 › 并发进程 |
并发进程
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 |