36、多线程学习指南

多线程学习指南

1. 多任务处理的演变

计算机具备多任务处理能力后,情况发生了巨大变化。像运行Unix操作系统的服务器计算机从一开始就支持多任务处理。而Windows操作系统直到Windows NT和Windows 95才实现了100%的抢占式多任务处理。这里提到的“抢占式”是一个关键概念,它与普通多任务处理有很大区别。

普通多任务处理是指各个任务相互协作,共同分配资源。这本质上是一种没有发展前景的方式,Windows 3.0和Windows 3.1就是典型例子,它们存在很多漏洞。接下来我们看看抢占式多任务处理的含义。

2. 抢占式多任务处理

抢占式多任务处理是指操作系统控制应用程序的执行内容和时间。要知道,我们之所以能运行应用程序,是因为应用程序被视为组件。不信的话,可以创建一个控制台应用程序,将 Main() 方法重命名为 Mains() ,看看会发生什么。实际上,声明的 Main() 方法是操作系统用于运行组件的API,这个组件伪装成了一个程序。

可以把操作系统看作一个运行着被称为程序的组件的程序。那么,多个程序如何同时运行呢?答案是操作系统并非普通程序,它是应用程序启动和管理的基础。操作系统利用微处理器的特殊功能,对各个程序进行时间切片。由于.NET程序是组件,所以无需直接访问微处理器。

3. 时间切片

时间切片是指操作系统规定程序的执行时间。在执行时间间隔内,程序处于冻结状态,不进行任何操作。用户通常不会察觉到时间切片,因为时间切片以微秒为单位,速度极快,让人感觉程序在持续运行。要观察时间切片的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值