码迷,mamicode.com
首页 > 编程语言 > 详细

进程和线程

时间:2018-10-07 20:26:38      阅读:164      评论:0      收藏:0      [点我收藏+]

标签:调度   单线程   听音乐   线程   问题   多进程   自己的   现在   分配   

什么是进程?

  正在运行的程序

  是系统进行资源分配和调用的独立单位,每一个进程都有它自己的内存空间和系统资源

多进程的意义?

  单进程的计算机只能做一件事情,而我们现在的计算机都能做多件事情:一边玩游戏(游戏进程),一边听音乐(音乐进程)

  现在的计算机都是支持多线程的,它们可以在同一时间段内执行多个任务,提高了CPU的使用率。

  问题:一边玩儿游戏,一边听音乐是同时进行的吗?(单核)

    不是,因为CPU在某一个时间点上只能做一件事情,而我们在玩儿游戏,听音乐的时候,是CPU在做着程序间的高效切换让我们感觉是同时进行的。

  这里说一个自己的比喻理解,CPU就像我们的大脑,我们边玩儿游戏,边听音乐,其实也不是同时进行的,在同一时刻,相信大家也能感觉出来,我们的大脑只在处理一件事情,打游戏或者听音乐,只不过大脑在很快的切换打游戏和听音乐这两件事情。

什么是线程?

  在同一个进程内,我们可以执行多个任务,这每一个任务就可以看成是一个线程在跑。

  线程是进程的执行单元(执行路径)。

  是CPU调度的基本单位。

单线程:程序只有一条执行路径

多线程:程序有多条执行路径

多线程的意义?

  并不是提高程序的执行速度,而是提高应用程序的使用率

  程序的执行其实都是在抢CPU资源(时间片),即CPU的执行权。

  当多个进程在抢CPU资源,而其中一个进程如果执行路径比较多,那么该进程抢到CPU执行权的几率就会比较高。

  我们不能保证哪一个线程在哪个时刻能抢到,即线程的执行具有随机性

进程和线程

标签:调度   单线程   听音乐   线程   问题   多进程   自己的   现在   分配   

原文地址:https://www.cnblogs.com/chen-cai/p/9751095.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!