进程,线程,超线程,并发,并行 等概念
3 月,跳不动了?>>> 进程是操作系统对一个正在运行的程序的抽象,即操作系统为该进程虚拟了独自的处理器资源,内存空间(又称虚拟地址空间)与磁盘空间 线程是进程中多个可以派遣的工作单位(或称执行单元,以CPU的角度来看)的集合,同一进程的多个线程共享该线程的资源(包括运行时在虚拟地址空间加载的代码,全局数据等) 并发(concurrency)从最终用户的角度来看,就是同时运行多个本地应用程序(或者网络应用程序例如 web服务器 同时处理来自多个远程用户的页面请求 / 活动连接 的过程) 并发 从计算机底层实现原理来看,是CPU等硬件 在操作系统所抽象出来的多个进程(或线程)之间快速来回切换执行的过程;具体讲,某一极短时间间隔内,CPU只能执行一个进程(或线程) 超线程(hyper threading,HT)也称“同时多线程”(simultaneous multi-threading) 采用超线程技术的多核CPU的任意一个物理核心在某一极短时间间隔内可以“同时”执行两个或多个线程 例如传统的单线程CPU,在某一极短时间间隔内只能执行一个线程,单线程CPU在不同线程间切换需要20,000个时钟周期 超线程多核CPU的任意一个物理核心在不同线程间切换只需要一个时钟周期; 典型的例子是 Intel Core i7 四核心处理器,一个物理核心可以同时执行两个线程, 总共可以“并行