python高性能编程--001--线程与进程的基本概念

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python高性能编程--001--线程与进程的基本概念相关的知识,希望对你有一定的参考价值。

一、什么是进程
进程是程序的一次执行,而程序即为磁盘中可执行的二进制等类型的数据。
进程的生命周期:程序被读取到内存中,被操作系统调用时才开始它的生命周期。
每个进程都有自己的地址空间、内存、数据栈以及其他记录其运行轨迹的辅助数据,各个进程都有自己的内存空间、数据栈等,所以进程间不能直接共享信息,只能使用进程间通信。

二、什么是线程
所有的线程运行在同一个进程中,共享相同的运行环境。可以将线程想象成是在“主进程”或“主线程”并行运行的“迷你进程”。
线程有开始、顺序执行和结束三部分。
一个进程中的各个线程之间共享同一片数据空间,这就意味着线程之间的可以更方便地共享数据以及相互通信。
??注意线程一般都是并发运行的,但是在单CPU系统中,并不存在真正的并发,因为某一时刻只能有一个线程在使用CPU资源。

三、总结
各个进程有各自的数据空间,所以进程间的通信和数据共享会比较复杂;
线程共享相同的运行环境,共享同一片数据空间,数据共享和线程间通信会相对简单。
在I/O密集型操作,多进程与多线程运行效率相差相对较小;
在CPU密集型操作,多进程的运行效率比多线程效率高;

以上是关于python高性能编程--001--线程与进程的基本概念的主要内容,如果未能解决你的问题,请参考以下文章

python 闯关之路四(上)(并发编程与数据库理论)

Python3 异步编程之进程与线程-1

Python-网络编程之线程与进程

Python——网络编程 进程与线程

python网络编程基础(线程与进程并行与并发同步与异步)

Python网络编程之线程与进程