进程与线程
进程的五种状态?
运行,就绪,阻塞,创建,终止
进程与线程的区别?
进程:系统资源分配的基本单位。
线程:轻量级进程,程序执行的基本单位。
进程不能互相通信,共享,但是线程可以。
进程间通信方式?
1.共享存储:由于各进程之间不能直接通信,可以设置一个共享空间,进程间互斥访问。
2.管道通信:在读写进程之间可以设置一个缓冲区,各进程互斥访问。
3.消息传递:发送消息的进程将消息头写好,接收消息的进程根据消息头去找哪个进程。
进程同步?
多道程序环境下,进程是并发进行的,不同进程之间存在不同的制约关系,为了解决这一问题,引入了进程同步。目的就是为了解决进程异步性问题。
什么是死锁?
多个进程互相等待对方手里的资源,造成了各进程阻塞。
产生死锁的原因?
1.互斥条件:对互斥使用的资源的抢夺才会导致死锁。
2.不可剥夺条件:进程保持的资源只能主动释放。
3.请求和保持条件:保持某些资源的同时,请求别的资源。
4.循环等待条件:存在一种资源的循环等待。
什么时候发生死锁?
对不可剥夺资源的不合理分配
死锁的处理?
1.预防死锁:破坏死锁的条件。
2.避免死锁:使用某种方法使得各进程处于安全状态。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!