【多线程-第一天-多线程的执行原理-多线程的优缺点-主线程 Objective-C语言】

一、多线程的执行原理

通知

1.单任务操作系统:同一时间只能执行一个任务

多任务操作系统:同一时间可以执行多个任务

比如,我可以一边听着酷狗,一边聊着QQ,

在单任务的操作系统里边,只有进程,没有线程,

通知

单任务操作系统,CPU必须执行完一个任务,才能执行第二个任务,

多任务操作系统,CPU假设是单核CPU,一次只能做一件事情,

通知

多任务操作系统,CPU即使是单核CPU,也可以同时执行这三个任务,

多任务操作系统里边,引入了线程,线程怎么工作的呢,

通知

假设操作系统里有四个线程,这四个线程,都是要交给CPU来执行的,并且,CPU假设是单核CPU,同一时间只能做一件事,双核呢,同一时间可以做两件事,至于这两件事,它做哪件事,不用我们管,我们也管不了,是操作系统负责的,我们写程序,只要你开线程就行了,

假设,先去执行第一个线程,假设线程1执行一个死循环,别人还能执行吗?不能了,但是,实际情况下,现在这个操作系统上,即使我写一个死循环,别的程序也能执行吧,

所以,它不是等着线程1执行完,而是会执行一个非常非常短的时间,这个时间人感觉不到,假设是15纳秒,

这15纳秒执行完,会把线程1 当前的状态,保存到内存中,当前的状态包括什么呢,包括变量的值,包括当前执行到哪一行代码了,

15纳秒到了,会把当前的状态保存,去执行线程2,

线程2执行15纳秒,把线程2的状态保存,执行线程3,

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

清风清晨

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值