多线程(1)——认识了解多线程

多线程(1)——认识了解多线程

多线程、并发编程的本质:

多线程本质上就是并发编程,并发编程的本质是最大化使用硬件的性能。理解性能,就要解决什么是进程的问题。python

Java与多线程:

Java是为数很少的支持多线程并发编程的开发语言,因此Java在总体的效率上是最高的。算法

进程:

① 一个具备必定独立功能的程序关于某个数据集合的一次运行活动;编程

② 是系统进行资源分配和调度的基本单位多线程

③ 是操做系统结构的基础。并发

多进程:

指的是在没有扩展原始系统硬件资源的状况下,利用一些算法,能够实现多个进程的并行执行,在同一个时间段上,有多个进程并发执行,可是在同一个时间点上只会有一个进程执行。编程语言

 

 

 线程和进程的关系:

  线程是在进程基础上的进一步划分,能够达到更快的性能,任何一个进程的启动速度实际上都是很是缓慢的。因此线程本质上的设计性能上要远远高于进程,可是线程是不可能离开进程存活的性能

进程与CPU:

一个进程的执行都必须有一个独立支持他的CPU,因此全部的资源共享里面,只有CPU是没法进行共享的,每个进程都只有一个本身的中央处理单元。 若是要想实现CPU 的共享,那么就必须利用线程来描述。spa

拓展:

  硬件的 CPU中出现了多核的状态,理论上多核CPU的多进程执行成为并行编程,并不是全部的CPU均可以超出若干个线程出来,通常来说,每一块CPU只会有一个线程执行,可是有一些CPU可使用超线程技术,设计出若干个多线程的执行状态。操作系统

  在进程和线程的概念之上实际上还有一个所谓的“纤程”,在线程基础上的进一步划分,按时有一些地方也把纤程称做“协程”。,Java没有支持多协程编程(之后不必定)。如今常见的编程语言里面:Kotlin(Android第二代产品)和python都是支持多协程编程的。线程

记忆方法:

  单CPU叫并发,多CPU叫并行。

相关文章
相关标签/搜索