🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
# Linux 相关知识 ## 常用命令 > TODO ## 相关概念 ### 线程、进程 ##### 进程 是表示资源分配的基本单位。 #### 线程 线程则是进程中执行运算的最小单位,即执行处理机调度的基本单位 #### Java开发中的线程并发 线程安全:当多个线程访问某个类时,这个类始终都能表现出正确的行为,那么就称这个类是线程安全的。理解为程序按照你的代码逻辑执行,并始终输出预定的结果。 ## 进程状态 ### 相关概念 进程状态:一个进程的生命周期可以划分为一组状态,这些状态刻画了整个进程。进程状态即体现一个进程的生命状态。 ### 状态模型 - 三态模型: - 运行态:进程占有处理器正在运行。 - 就绪态:进程具有运行条件,等待系统分配处理器运行。 - 阻塞态:进程不具备运行条件,正在等待某个事件的完成。 - 五态模型:新建态、终止态,运行态,就绪态,阻塞态。 ## 进程间的通信(IPC,Inter-process Communcation) ### 相关概念 #### IPC两个操作 - 发送(send message) - 接受(receive message) #### 进程通信流程 - 在进程间建立通信链路 - 通过 send/receive 发送接收消息 #### 进程通信方式 - 直接通信:(共享信道) - 进程必须正确命名对方,比如send(p,message)向p发送信息,receive(q,message)从q中接收信息 - 通信链路有如下属性:自动建立连接;一条链路恰好对应一对通信进程; - 每对进程之间只有一个链接存在; - 链路可以是单向的,但是通常为双向的 - 间接通信:(通过OS内核) - 通过OS维护的消息队列实现进程之间的通信(接收发送信息) - 每个消息队列都有一个唯一标识,只有共享了相同消息队列的进程才能够通信 - 通信链路有如下属性:只有共享了相同消息队列的进程才能建立连接,比如send(a,message)向消息队列a发送信息,receive(a,message)从消息队列a中接收信息; - 连接单向或者双向; - 消息队列可以与多个进程相互关联; - 每个进程共享多个消息队列(也就是进程和消息队列是多对多的关系) ### 进程间通信的5种方式 > TODO ## 线程并发 > TODO