进程是资源分配的最小单位,线程是CPU调度的最小单位 对比维度 多进程 多线程 总结 数据共享、同步 数据共享复杂,需要用IPC;数据是分开的,同步简单 因为共享进程数据,数据共享简单,但也是因为这个原因导致同步复杂 各有优势 内存、CPU 占用内存多,切换复杂,CPU利用率低 占用内存少,切换简单 ...
分类:
编程语言 时间:
2017-06-09 20:21:40
阅读次数:
298
一、进程与线程的区别 进程:每个进程都有独立的代码和数据空间(进程上下文),进程间的切换会有较大的开销,一个进程包含1--n个线程。(进程是资源分配的最小单位) 线程:同一类线程共享代码和数据空间,每个线程有独立的运行栈和程序计数器(PC),线程切换开销小。(线程是cpu调度的最小单位) 线程和进程 ...
分类:
编程语言 时间:
2017-06-08 00:11:05
阅读次数:
168
本随笔介绍CPU负载的排查手段。 查看系统负载的工具:uptime,w,都能查看系统负载,系统平均负载是处于运行或不可打扰状态的进程的平均数, 可运行:运行态,占用CPU,或就绪态,等待CPU调度。 不可打扰:阻塞,正在等待I/O 1.使用uptime查看系统负载 这里我们关注的是最后三列,即系统1 ...
分类:
系统相关 时间:
2017-05-31 12:01:46
阅读次数:
350
一、多线程 1、操作系统有两个容易混淆的概念,进程和线程。 进程:一个计算机程序的运行实例,包含了需要执行的指令;有自己的独立地址空间,包含程序内容和数据;不同进程的地址空间是互相隔离的;进程拥有各种资源和状态信息,包括打开的文件、子进程和信号处理。 线程:表示程序的执行流程,是CPU调度执行的基本 ...
分类:
编程语言 时间:
2017-05-29 21:42:09
阅读次数:
197
出于对自己对多进程和多线程概念理解的怀疑,便花时间深入学习了一下。我的目的是将一个生动的围绕CPU运行的动作模型描述出来。我们先看专业书上是怎么解释的——进程是资源分配的最小单位,线程是CPU调度的最小单位——。只要能把这句话理解了,那也就对多进程与多线程理解的差不多了。 我们来看一下操作系统是怎么 ...
分类:
编程语言 时间:
2017-05-20 22:33:41
阅读次数:
278
Java 中的线程状态转换: 【注】:不是 start 之后就立刻开始执行, 只是就绪了(CPU 可能正在运行其他的线程). 【注】:只有被 CPU 调度之后,线程才开始执行, 当 CPU 分配给你的时间片到了, 又回到就绪状态, 继续排队等候. 线程控制的基本方法: isAlive(): 判断线程 ...
分类:
编程语言 时间:
2017-05-09 11:28:19
阅读次数:
183
进程:每个进程都有独立的代码和数据空间(进程上下文),进程间的切换会有较大的开销,一个进程包含1--n个线程。(进程是资源分配的最小单位) 线程:同一类线程共享代码和数据空间,每个线程有独立的运行栈和程序计数器(PC),线程切换开销小。(线程是cpu调度的最小单位) 线程和进程一样分为五个阶段:创建 ...
分类:
编程语言 时间:
2017-04-30 01:11:17
阅读次数:
233
Threading用于提供线程相关的操作,线程是应用程序中工作的最小单元。 上述代码中创建了10个线程,然后控制器就交给了CPU,CPU根据制定算法进行调度,分片执行指令。更多方法: start: 线程准备就绪,等待CPU调度 setName:为线程设置名称 getName:获取线程名称 setDa ...
分类:
编程语言 时间:
2017-04-25 18:37:17
阅读次数:
212
多线程与异步编程可以达到避免调用线程异步阻塞作用,但是两者还是有点不同。 多线程与异步编程的异同: 1.线程是cpu 调度资源和分配的基本单位,本质上是进程中的一段并发执行的代码。 2.线程编程的思维符合正常人的思维习惯,线程中的处理程序依然是顺序执行,所以编程起来比较方便,但是缺点也是明显的,多线 ...
分类:
编程语言 时间:
2017-04-24 01:02:54
阅读次数:
215
XEN 是一种直接执行在硬件上一层软件,它能够让电脑硬件上同一时候跑多个用户的操作系统。其体系结构例如以下: XEN Hypervisor :介于操作系统和硬件之间的一个软件描写叙述层。它负责在各个虚拟机之间进行 CPU 调度和内存分配。(XEN Hypervisor 不会处理网络、存储设备、视频以 ...
分类:
其他好文 时间:
2017-04-23 19:32:51
阅读次数:
325