线程与进程

来源:互联网 发布:淘宝客怎么设置单品 编辑:程序博客网 时间:2024/05/17 06:04

关于 并行与并发

多线程只有一个目的,就是更好的利用cpu资源。

并行:多个cpu或多台机器同时进行一段逻辑处理。比如并查集。

并发:多个程序在同一处理机运行,但同一时刻只有一个程序在运行。

 线程与进程的关系

这两个名词不过是对应的cpu时间段的描述,只不过是颗粒度大小不同,进程包含线程。

进程就是上下文(程序的运行环境)切换程序执行时间的总和=cpu加载上下文+cpu执行+cpu保存上下文。

线程是什么?

比如运行一个程序A(分为a b c等多个块组合而成的),过程如下所示:

程序A加载上下文,开始执行A的a小段,然后执行b小段,再执行c小段,最后再保存A的上下文。

这里a b c是共享了A的上下文,这里abc就是线程,A就是进程。也就是说线程是共享了进程的上下文环境,是颗粒度更小的时间段。


通俗易懂的实际情景解释:

单进程单线程:一个人在一个桌子上吃菜。

单进程多线程:多个人在一个桌子一起吃菜。(多线程共享一个进程的上下文环境)

多线程单线程:多个人每个人在自己的桌子上吃菜。




原创粉丝点击