Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1828104
  • 博文数量: 323
  • 博客积分: 5970
  • 博客等级: 大校
  • 技术积分: 2764
  • 用 户 组: 普通用户
  • 注册时间: 2011-04-03 23:13
文章分类

全部博文(323)

文章存档

2018年(2)

2017年(11)

2016年(10)

2015年(27)

2014年(2)

2013年(30)

2012年(197)

2011年(44)

分类: LINUX

2012-04-21 19:01:01

windows多任务处理机制:
windows多任务处理机制采用的是协商式多任务:
有几个内核,就维护多少个队列,多个进程内的线程按先后次序排队,有几个内核,就会排成几队。
缺点:当cpu访问进程队列信息失败时,即当前线程阻塞,则该队列后面所有的线程都会等待。
这就是当我们使用windows系统时,某个线程假死之后,所有的队列都会停滞。
这时候,我们要么选择等待,要么选择终止阻塞线程所在的进程。
===================
linux/unix多任务处理机制:
linux/unix多任务处理机制是抢占式多任务,
linux下每个进程只包含一个线程,可以这么理解,因为linux没有线程的概念,为便于同windows比较,故这么描述。
有几个内核,就维护多少个队列,每个进程维护自己的队列,各个进程之间是独立的。
各个线程抢占cpu资源。
当cpu访问进程队列失败时,即某个线程假死之后,其他线程会迅速抢占cpu资源,这样不会因为某个线程假死,影响其他任务的执行。
这就是在linux/unix下,当我们的某个进程处于假死状态,我们其他进程照样可以运行,其他程序依然可以操作,就是这样原因

阅读(2863) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~