1 .内核级线程:切换由内核控制,当线程进行切换的时候,由用户态转化为内核态。切换完毕要从内核态返回用户态;可以很好的利用smp,即利用多核cpu。windows线程就是这样的。 2. 用户级线程内核的切换由用户态程序自己控制内核切换,不需要内核干涉,少了进出内核态的消耗,但不能很好的利用多核Cpu ...
分类:
编程语言 时间:
2016-05-24 11:46:38
阅读次数:
150
Linux的进程优先级 为什么要有进程优先级?这似乎不用过多的解释,毕竟自从多任务操作系统诞生以来,进程执行占用cpu的能力就是一个必须要可以人为控制的事情。因为有的进程相对重要,而有的进程则没那么重要。进程优先级起作用的方式从发明以来基本没有什么变化,无论是只有一个cpu的时代,还是多核cpu时代 ...
分类:
系统相关 时间:
2016-05-23 10:34:49
阅读次数:
179
目前python 提供了几种多线程实现方式 thread,threading,multithreading ,其中thread模块比较底层,而threading模块是对thread做了一些包装,可以更加方便的被使用。 2.7版本之前python对线程的支持还不够完善,不能利用多核CPU,但是2.7版 ...
分类:
编程语言 时间:
2016-05-22 06:16:10
阅读次数:
189
mpstat -P ALL 和 sar -P ALL 说明:sar -P ALL > aaa.txt 重定向输出内容到文件 aaa.txt 经常用来监控linux的系统状况,比如cpu、内存的使用,程序员基本都知道这个命令,但比较奇怪的是能用好它的人却很少,例如top监控视图中内存数值的含义就有不少 ...
分类:
系统相关 时间:
2016-05-20 19:00:47
阅读次数:
283
JavaScript单线程的误解 在我接触JavaScript(无论浏览器还是NodeJS)的时间里,总是遇到有朋友有多线程的需求。而在NodeJS方面,有朋友甚至直接说到,NodeJS是单线程的,无法很好的利用多核CPU。 诚然,在前端的浏览器中,由于前端的JavaScript与UI占据同一线程, ...
分类:
Web程序 时间:
2016-05-19 22:58:59
阅读次数:
235
线程的运行机制 开启线程过多,会消耗cpu 单核cpu,同一时刻只能处理一个线程,多核cpu同一时刻可以处理多个线程 操作系统为每个运行线程安排一定的CPU时间 时间片,系统通过一种循环的方式为线程提供时间片,线程在自己的时间内运行,因为时间相当短,多个线程频繁地发生切换,因此给用户的感觉就是好像多 ...
分类:
编程语言 时间:
2016-05-13 09:47:05
阅读次数:
269
多核CPU充分利用CPU性能,就需要使用多线程并行挖掘CPU的潜力,并行程序设计对常用的多线程结构进行抽象,总结出几种典型多线程开发设计模式。
一、future 模式——精彩无需等待
当程序提交一个请求,服务器对这个请求的处理可能很慢,在传统串行程序中,函数调用时同步的,也就是说程序必须等着服务器返回结果才会进行下一步处理。而Future 模式采用异步调用,充分...
分类:
编程语言 时间:
2016-05-12 14:47:30
阅读次数:
212
并发所描述的概念就是同时运行多个任务。这些任务可能是以在单核 CPU 上分时(时间共享)的形式同时运行,也可能是在多核 CPU 上以真正的并行方式来运行。 OS X 和 iOS 提供了几种不同的 API 来支持并发编程。每一个 API 都具有不同的功能和使用限制,这使它们适合不同的任务。同时,这些 ...
分类:
移动开发 时间:
2016-05-06 19:13:03
阅读次数:
257
多线程 1 多线程原理 多线程的原理就是在 APP 运行中,多个线程之间的关联.现在 对于单核 CPU 来说,同一时间内,CPU 只能处理一个线程, 多线程同时执行的实质是, CPU 在多条线程之间快速的切换. 多核 CPU 来说,就是在同一时间内有多条线程可以同时执行 2 进程和线程 进程:(一个 ...
分类:
编程语言 时间:
2016-05-03 00:20:15
阅读次数:
207
linux下使用top命令或uptime命令 单核cpu下,负载超过0.7即意味着瓶颈,多核cpu下按核数*0.7计算负载 如2核,1.4可能即意味着负载较吃力了 查看核数 ...
分类:
系统相关 时间:
2016-05-02 11:53:09
阅读次数:
212