关于动漫网站建设规划表,平台推广是做什么,深圳代理记账多少钱一月,没有网站怎么做网推目录
一、线程与进程的区别
区别#xff1a;
二、多进程和多线程区别
三、进程与程序的区别
三、死锁
1、是什么
2、产生的原因
3、产生的必要条件#xff08;4个#xff09;
4、如何预防
5、如何避免
6、如何检测
7、如何解除 一、线程与进程的区别
1、线程
二、多进程和多线程区别
三、进程与程序的区别
三、死锁
1、是什么
2、产生的原因
3、产生的必要条件4个
4、如何预防
5、如何避免
6、如何检测
7、如何解除 一、线程与进程的区别
1、线程进程中的一个执行任务控制单元负责当前进程中程序的执行。
2、进程一个在内存中运行的应用程序。每个进程都有自己独立的一块内存空间一个进程至少有一个线程一个进程可以运行多个线程多个线程可共享数据。
区别
1、根本区别进程是操作系统资源分配的基本单位而线程是任务调度和执行的基本单位
2、资源开销每个进程都有独立的代码和数据空间程序上下文程序之间的切换会有较大的开销线程可以看做轻量级的进程同一类线程共享代码和数据空间每个线程都有自己独立的运行栈和程序计数器PC线程之间切换的开销小。总结进程资源开销线程资源开销
3、内存分配同一进程的线程共享本进程的地址空间和资源而进程之间的地址空间和资源是相互独立的。
4、影响关系一个进程崩溃后在保护模式下不会对其他进程产生影响但是一个线程崩溃整个进程都死掉。所以多进程要比多线程健壮。
5、执行过程每个独立的进程有程序运行的入口、顺序执行序列和程序出口。但是线程不能独立执行必须依存在应用程序中由应用程序提供多个线程执行控制两者均可并发执行。
二、多进程和多线程区别
多进程操作系统中同时运行的多个程序
多线程在同一个进程中同时运行的多个任务
三、进程与程序的区别
进程与程序最大的区别就在于进程是动态的同一个静态的程序可以对应多个不同的动态进程。例如同一个QQ程序可以形成多个动态的QQ进程
三、死锁
1、是什么
多个进程在运行过程中因争夺资源而造成的一种僵局当进程处于这种僵持状态时若无外力作用它们都将无法再向前推进程序没有办法进行正常终止
2、产生的原因
1竞争不可剥夺资源
2竞争临时资源通常消息通信顺序进行不当则会产生死锁
3进程推进顺序不合法进程P1 P2此时各自获得资源A B但是P1需要得到B后再释放资源P2需要得到A后再释放资源此时系统不安全。如果再进行推进就会死锁
【拓】资源的分类①可剥夺资源当一个进程获得资源后该资源可被其他进程或者系统剥夺 ②不可剥夺资源当系统把这类资源分配给某进程后再不能强行收回只能在进程用完后自行释放③临时资源包括硬件中断、信号、消息、缓冲区内的消息等
3、产生的必要条件4个
1互斥使用二者只能有一个使用资源
2不可抢占资源进程已获得的资源在未使用完之前不能剥夺只能在使用完时由自己释放
3占有且等待当进程因请求资源而阻塞时对已获得的资源保持不放
4循环等待进程一等待进程二占有的资源进程一等待进程二占有的资源这样形成一个环路
死锁只有这4个条件都满足时才发生
4、如何预防
关键破坏任意一个必要条件即可
破坏互斥使用一次性分配所有资源这样就不会再有请求了。一般不会对互斥使用进行破坏因为某些资源只能一个进程使用其他进程不能使用例如打印机。所以会对其他3个条件进行破坏。
破坏占有且等待每个进程一次性申请所有需要的资源如果无法获取所有资源就等待如果可以获取所有资源就继续执行任务
破坏不可抢占资源当某个进程拿到一部分资源想要申请其他资源时如果申请不到则主动释放原占有的所有资源
破坏循环等待给每个资源都标记一个序号按序申请先申请资源序号小的在申请资源序号大的这样线性化申请资源就不会出现循环等待的问题
5、如何避免
银行家算法
6、如何检测
为每个进程和每个资源指定一个唯一的序号然后建立资源分配表和进程等待表
7、如何解除
1剥夺资源从其它进程剥夺足够数量的资源给死锁进程以解除死锁状态
2撤消进程可以直接撤消死锁进程或撤消代价最小的进程直至有足够的资源可用死锁状态消除为止。所谓代价是指优先级、运行代价、进程的重要性和价值等