码迷,mamicode.com
首页 > 编程语言 > 详细

并发编程之线程

时间:2019-08-13 00:06:46      阅读:86      评论:0      收藏:0      [点我收藏+]

标签:一点   空间   地址   并发编程   共享资源   处理   虚拟   统一   访问   

一,线程

进程和线程都是虚拟单位,都是形象的来描述某种事物。

进程是资源分配的最小单位,线程是CPU调度的最小单位
每个进程中至少有一个线程


进程和线程的区别:

1,进程与进程之间是相互独立的,但是同一进程内的线程是共享资源和空间地址的。

2,进程与进程之间如果想通信必须要通过IPC机制,而统一进程内的线程是可以直接读写进程数据段来进行通信的。

3,进程所消耗的资源比较大,线程所消耗的资源相对于进程来说非常小。

4,调度和切换的速度上来说,线程上下文切换速度要比进程上下文的切换速度快很多。

 

线程的特点:

1,轻型实体:

线程中的实体基本上不拥有系统资源,只是有一点必不可少的、能保证独立运行的资源。

线程的实体包括程序、数据和TCB。


2,独立调度和分派的基本单位:

在多线程OS中,线程是能独立运行的基本单位,因而也是独立调度和分派的基本单位。由于线程很“轻”,故线程的切换非常迅速且开销小(在同一进程中的)。

 

3,共享进程资源:

线程在同一进程中的各个线程,都可以共享该进程所拥有的资源,这首先表现在:所有线程都具有相同的进程id,这意味着,线程可以访问该进程的每一个内存资源;此外,还可以访问进程所拥有的已打开文件、定时器、信号量机构等。由于同一个进程内的线程共享内存和文件,所以线程之间互相通信不必调用内核。

 

4,可并发执行:

在一个进程中的多个线程之间,可以并发执行,甚至允许在一个进程中所有线程都能并发执行;同样,不同进程中的线程也能并发执行,充分利用和发挥了处理机与外围设备并行工作的能力。

 

并发编程之线程

标签:一点   空间   地址   并发编程   共享资源   处理   虚拟   统一   访问   

原文地址:https://www.cnblogs.com/wujc3/p/11340801.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!