大家好,欢迎来到IT知识分享网。
什么是线程
线程是进程中执行运算的最小单位,亦即执行处理机调度的基本单位。如果把进程理解为在逻辑上操作系统所完成的任务,那么线程表示完成该任务的许多可能的子任务之一。
什么进程
“进程”是操作系统的最基本、最重要的概念之一。进程最根本的属性是动态性和并发性。我们将进程定义为:程序在并发环境中的执行过程。
为什么会引入线程的概念
在传统操作系统中,每个进程有一个地址空间和一条控制线索及一个程序计数器,所以在一个进程内部是顺序执行的。在这种环境下,进程这个活动实体兼有两个角色:资源分配单位和调度运行单位。
但在很多现代操作系统中,把这两个角色赋予两个实体:进程只作为资源拥有者,负责申请和占有所需的全部资源(除CPU外);而参与调度和运行的职责赋予新的实体——线程(Thread)。
引入线程理由有4个,分别是:
1、使并行实体获得共享同一地址空间和所有可用数据的能力。
2、易于切换,代价低
由于线程只具有少量私有资源(如Thread结构、程序计数器、堆栈),不具有单独的地址空间,所以又把线程称为轻载进程(LWP)。这样,线程的创建、撤销就比进程快得多。在许多系统中,创建一个线程要比创建一个进程快10~100倍
3、可以改善系统的性能
如果存在大量的计算和I/O处理,采用多线程机制就允许这些活动彼此重叠进行,从而会加快应用程序的执行速度。
4、在多处理器系统中,各个线程可以在单独的CPU上运行,从而大大提高了系统的效率。
进程与线程的区别
- 一个进程可以有多个线程,但至少要有一个线程;而一个线程只能在一个进程的地址空间内活动。
- 资源分配给进程,同一进程的所有线程共享该进程的所有资源。
- 处理机分配给线程,即真正在处理机上运行的是线程。
- 线程在执行过程中需要协作同步。不同进程的线程间要利用消息通信的办法实现同步。
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/52140.html