windows多任务处理机制:
windows多任务处理机制采用的是协商式多任务:
有几个内核,就维护多少个队列,多个进程内的线程按先后次序排队,有几个内核,就会排成几队。
缺点:当cpu访问进程队列信息失败时,即当前线程阻塞,则该队列后面所有的线程都会等待。
这就是当我们使用windows系统时,某个线程假死之后,所有的队列都会停滞。
这时候,我们要么选择等待,要么选择终止阻塞线程所在的进程。
===================
linux/unix多任务处理机制:
linux/unix多任务处理机制是抢占式多任务,
linux下每个进程只包含一个线程,可以这么理解,因为linux没有线程的概念,为便于同windows比较,故这么描述。
有几个内核,就维护多少个队列,每个进程维护自己的队列,各个进程之间是独立的。
各个线程抢占cpu资源。
当cpu访问进程队列失败时,即某个线程假死之后,其他线程会迅速抢占cpu资源,这样不会因为某个线程假死,影响其他任务的执行。
这就是在linux/unix下,当我们的某个进程处于假死状态,我们其他进程照样可以运行,其他程序依然可以操作,就是这样原因
阅读(1218) | 评论(0) | 转发(0) |
<script>window._bd_share_config={"common":{"bdSnsKey":{},"bdText":"","bdMini":"2","bdMiniList":false,"bdPic":"","bdStyle":"0","bdSize":"16"},"share":{}};with(document)0[(getElementsByTagName('head')[0]||body).appendChild(createElement('script')).src='http://bdimg.share.baidu.com/static/api/js/share.js?v=89860593.js?cdnversion='+~(-new Date()/36e5)];</script>
windows多任务处理机制采用的是协商式多任务:
有几个内核,就维护多少个队列,多个进程内的线程按先后次序排队,有几个内核,就会排成几队。
缺点:当cpu访问进程队列信息失败时,即当前线程阻塞,则该队列后面所有的线程都会等待。
这就是当我们使用windows系统时,某个线程假死之后,所有的队列都会停滞。
这时候,我们要么选择等待,要么选择终止阻塞线程所在的进程。
===================
linux/unix多任务处理机制:
linux/unix多任务处理机制是抢占式多任务,
linux下每个进程只包含一个线程,可以这么理解,因为linux没有线程的概念,为便于同windows比较,故这么描述。
有几个内核,就维护多少个队列,每个进程维护自己的队列,各个进程之间是独立的。
各个线程抢占cpu资源。
当cpu访问进程队列失败时,即某个线程假死之后,其他线程会迅速抢占cpu资源,这样不会因为某个线程假死,影响其他任务的执行。
这就是在linux/unix下,当我们的某个进程处于假死状态,我们其他进程照样可以运行,其他程序依然可以操作,就是这样原因
给主人留下些什么吧!~~
评论热议