线程

来源:互联网 发布:2016淘宝如何打造爆款 编辑:程序博客网 时间:2024/06/10 07:07

关于线程的一些理解(一)


线程的基本概念


引入进程的目的



       更好地使多道程序并发执行,以提高资源的利用率和系统的吞吐量,提高并发的程度。

引入线程的目的



       减小程序在并发执行时所付出的时间和空间开销,提高操作系统的并发性能。

线程的定义



       线程可以理解为一种轻量级的进程,是操作系统分配CPU资源的最小单位(如果这个操作系统支持多线程),举一个简单的例子:

有一天,老王正在上班,突然觉得头晕,无法继续工作,便向老板请假。老板说:“我还不能批准你的请假。虽然你现在头晕,脑袋没有办法正在工作了,但是你的手脚总还是利索的吧。那你就在地上爬让我开心开心。”

       在上面这个例子中,老王就相当于一个进程,老王的脑袋、手、脚等等都相当于进程中个线程。

线程的组成



       线程的组成包括:

  • 线程ID
  • 程序计数器
  • 寄存器集合
  • 堆栈

线程的资源



       线程自己不拥有系统资源,只拥有一点在运行中必不可少的资源,它与同属于一个进程的其他线程共享进程所拥有的资源。


       引入线程的概念后,进程的内涵发生了一些变化,进程只作为除了CPU以外的系统资源的最小分配单元,而CPU资源的最小分配单元变为线程。

线程的状态



       和进程类似,线程拥有以下三种基本状态:

  • 就绪(Ready)
  • 阻塞(Block)
  • 运行(Run)

       一个线程可以创建和撤销另一个线程,同一个进程中的多个线程之间可以并发执行。

原创粉丝点击