进程和线程

什么是进程?

  正在运行的程序

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

多进程的意义?

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

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

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

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

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

什么是线程?

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

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

  是CPU调度的基本单位。

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

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

多线程的意义?

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

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

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

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

posted @ 2018-10-07 19:41  c&z  阅读(99)  评论(0编辑  收藏  举报