失效链接处理 |
javaq发~程ȝ PDF 下蝲
相关截图Q?/strong>
![]() 主要内容Q?/strong>
2.q程与线E?/strong>
2.1 q程和线E的概念
q程Q?/span>
E序由指令和数据l成Q但q些指o要运行,数据要读写,必d指o加蝲?/span> CPUQ数据加载至
内存。在
指oq行q程中还需要用到磁盘、网l等讑֤。进E就是用来加载指令、管理内存、管?/span> IO 的?/span>
是一个具有独立功能的E序关于某个数据集合的一ơ运行活动。它可以甌和拥有系l资源,是一
个动态的概念Q是一个活动的实体?/span>
当一个程序被q行Q从盘加蝲q个E序的代码至内存Q这时就开启了一个进E?/span>
q程可以视为程序的一个实例。大部分E序可以同时q行多个实例q程Q例如记事本、画图、浏
览器
{)Q也有的E序只能启动一个实例进E(例如|易云音乐、腾讯电(sh)脑管家?/span>360 安全卫士{)
U程Q?/span>
一个进E之内可以分Z到多个线E?/span>
一个线E就是一个指令流Q将指o中的一条条指o以一定的序交给 CPU 执行?/span>(序执行Q或
选择执行Q或循环执行)
Java 中,U程作ؓ最调度单位,q程作ؓ资源分配的最单位??/span> windows 中进E是不活?/span>
的,只是?/span>
为线E的容器?/span>
区别Q?/span>
q程是负责加载管理资源的Q线E是负责执行指o的?/span>
q程基本上是怺独立的,U程存在于进E内Q是q程的一个子集?/span>
q程拥有׃n的资源,如内存空间等Q供其内部的U程׃n
q程间通信较ؓ复杂
同一台计机的进E通信UCؓ IPCQ?/span>Inter-process communicationQ?/span>
不同计算Z间的q程通信Q需要通过|络Qƈ遵守共同的协议,例如 HTTP
U程通信相对单,因ؓ它们׃nq程内的内存Q例如多个线E可以访问同一个共享变?/span>
U程更轻量,U程上下文切换成本一般上要比q程上下文切换低
|