进程与线程

背景

    2016年2月17日晚上我们开了一次关于设计模式的学术交流会,感觉自己对一些概念总是傻傻分不清楚,归根原因,还是实践的少,将知识生活化做得不好。其中涉及到一些知识,多线程是什么?

内容

定义

    自己的理解:线程就是为了完成同一个目的,不同的执行者同时做出努力。

    自己百度的结果,不但出现了线程,也提到了进程,他们之间到底有什么联系呢,小编带你一探究竟。

  • 进程

官方解释

    进程是计算机中程序关于数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构运行的基本单位。后面又说了,在现代面向线程设计的计算机结构中,进程是线程的容器,另一方面可见进程是依附操作系统存在的。

  • 线程

    线程是进程的一个执行流,是CPU调度和分派的基本单位,它是比进程更小的独立运行的基本单位,本身没有独立的地址和资源,是程序执行的最小单位。

内存分析


实例

  • 多进程


  • 多线程


区别

衡量点

多进程

多线程

优势

数据同步、共享

数据分开,共享复杂,同步简单

共享简单;同步复杂

各有千秋

内存、CPU

内存占用多,CPU利用率低

占用内存少,CPU利用率高

线程占优

可靠性

进程之间不会影响

一个线程挂掉导致整个进程挂掉

进程占优

 

总结

    一个既长有复杂的进程可以分为多个线程或者进程,成为几个独立或者半独立的部分,这样的程序会利于理解和修改。能充分利用多核CPU的性能。他们消耗的资源:创建线程对操作系统来说是外伤,创建进程对操作系统来说是内伤。现在理解的可能有些浅显,在以后的学习中,再多多进行充电。


结语

1、不怕不知道,就怕不知道。

2、不将就是发现的源动力。


感谢您的宝贵时间~~~

原文地址:https://www.cnblogs.com/zhoulitong/p/6412426.html