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

我的读书笔记(线程进程)

时间:2014-08-01 10:31:01      阅读:202      评论:0      收藏:0      [点我收藏+]

标签:使用   strong   数据   问题   时间   window   windows   程序   

  线程有时候可以被称为微进程或轻量级进程,它的概念和进程十分相似,是一个可以被调度的单元,并且维护自己的堆栈和上下文环境,线程是附属进程的,一个进程可以包含1个或者多个线程,并且同一进程内的多个线程共享一块内存快和资源,一个线程是一个操作系统可调度的基本单元,但同时它的调度受限于包含该线程的进程,也就是说操作系统首先决定了下一个执行的进程,进而才会调度该进程内的线程

  线程和进程最大的区别在于隔离性的问题,每个进程都被单独地隔离,拥有自己的内存快,独占的资源及运行数据,一个进程的崩溃不会影响到其他进程,而进程间的交互也是相当困难的,和进程不同,同一进程内的所有线程共享资源和内存,并且一个线程可以访问,结束同一进程内的其他线程

 

按照常规分类,线程调度可以分为抢占式调度和非抢占式调度两种方法

1)抢占式调度

  抢占式调度是指每个线程都只有极少的运行时间(在windows NT内核模式下这个时间不会超过20ms),而当时间用完时该线程就会被强制暂停,保存上下文并把运行权交给下一个线程,这样调度的结果就是所有线程都在快速地切换运行,使得使用者感觉所有的线程在并行运行

2)非抢占式调度

  非抢占式调度是指某个线程在运行时不会被操作系统强制暂停,它可以持续地运行直至运行告一段落并主动地交出运行权,再这样的调度模式下,线程的运行就完全是单队列的,并且可能产生恶意程序长期霸占运行权的情况。

  注意:现在很多的操作系统都采用抢占式和非抢占式模式,对于那些优先级相当高的线程,操作系统采用非抢占式来充分的时间运行,对于普通的线程,则采用抢占式模式来快速切换执行

我的读书笔记(线程进程),布布扣,bubuko.com

我的读书笔记(线程进程)

标签:使用   strong   数据   问题   时间   window   windows   程序   

原文地址:http://www.cnblogs.com/emilwang/p/3884226.html

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