36、多线程编程入门与实践

多线程编程入门与实践

1. 多任务处理的发展

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

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

2. 抢占式多任务处理

抢占式多任务处理是指操作系统控制应用程序的执行内容和时间。应用程序被视为组件,我们才能运行它们。例如,创建一个控制台应用程序,将 Main() 方法重命名为 Mains() ,就会发现 Main() 方法实际上是操作系统用于运行组件的API,这个组件伪装成了一个程序。

操作系统就像一个特殊的程序,它运行着被称为程序的组件。那么,多个程序如何同时运行呢?这是因为操作系统会利用微处理器的特殊功能,对各个程序进行时间切片。由于.NET程序是组件,它们无需直接访问微处理器。

3. 时间切片

时间切片是指操作系统规定程序的执行时间。在执行时间间隔内,程序处于冻结状态,不做任何操作。用户通常感觉不到时间切片,因为它的操作是以微秒为单位的,速度非常快,所以我们会认为程序在持续运行。

要观察时间切片的实际情况,可以打开Windows任务管理器

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值