自学内容网 自学内容网

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

一、多线程的执行原理

通知

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

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

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

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

通知

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

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

通知

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

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

通知

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

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

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

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

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

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


原文地址:https://blog.csdn.net/madoca/article/details/143948837

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!