背景
2016年2月17日晚上我们开了一次关于设计模式的学术交流会,感觉自己对一些概念总是傻傻分不清楚,归根原因,还是实践的少,将知识生活化做得不好。其中涉及到一些知识,多线程是什么?
内容
定义
自己的理解:线程就是为了完成同一个目的,不同的执行者同时做出努力。
自己百度的结果,不但出现了线程,也提到了进程,他们之间到底有什么联系呢,小编带你一探究竟。
- 进程
官方解释
进程是计算机中程序关于数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构运行的基本单位。后面又说了,在现代面向线程设计的计算机结构中,进程是线程的容器,另一方面可见进程是依附操作系统存在的。
- 线程
线程是进程的一个执行流,是CPU调度和分派的基本单位,它是比进程更小的独立运行的基本单位,本身没有独立的地址和资源,是程序执行的最小单位。
内存分析
实例
- 多进程
- 多线程
区别
衡量点 |
多进程 |
多线程 |
优势 |
数据同步、共享 |
数据分开,共享复杂,同步简单 |
共享简单;同步复杂 |
各有千秋 |
内存、CPU |
内存占用多,CPU利用率低 |
占用内存少,CPU利用率高 |
线程占优 |
可靠性 |
进程之间不会影响 |
一个线程挂掉导致整个进程挂掉 |
进程占优 |
总结
一个既长有复杂的进程可以分为多个线程或者进程,成为几个独立或者半独立的部分,这样的程序会利于理解和修改。能充分利用多核CPU的性能。他们消耗的资源:创建线程对操作系统来说是外伤,创建进程对操作系统来说是内伤。现在理解的可能有些浅显,在以后的学习中,再多多进行充电。
结语
1、不怕不知道,就怕不知道。
2、不将就是发现的源动力。
感谢您的宝贵时间~~~