您的位置:首页 > 编程语言 > Python开发

Python之线程与进程

2018-01-03 20:33 232 查看

线程与线程的概述

进程(process)

进程是计算机中程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。

线程(Thread)

线程有时被称为轻量级进程(Lightweight Process, LWP),是程序执行流的最小单元。线程是进程中的一个实体,是被系统独立调度和分派的基本单元。一个进程可以包含多个线程,但是线程不能包含多个进程。线程自己不拥有系统资源,在单个程序中同时运行多个线程完成不同的工作,称为多线程。

线程与进程的区别

线程和进程的区别在于:子进程和父进程有不同的代码和数据空间,而多个线程则共享数据空间,每个线程有自己的执行堆栈和程序计数器为其执行上下文。

单线程实例

单线程在程序执行时,所走的程序路径按照连续顺序排下来,前面的必须处理好,后面的才会执行。

案例:一个学生先用2秒说话,接着用3秒写字,最后结束。



因为talk的方法在前,write的方法在后,因此程序先回执行talk()再执行write()。

多线程实例

多线程(MultiThreading)是指从软件或者硬件上实现多个线程并发执行的技术。

案例:让学生同时进行说和写的操作。



talk和write在第一次执行的时候,时间都是Jan  3 20:28:03 2018。表示2个线程是同时执行的。由于write方法比talk方法多等待了1秒,因此第2次执行时,2者时间上相差了1秒。

多进程实例

多进程(MultiProcessing)。多进程和多线程方法类似,就模块和方法名称不一致。



talk和write在第一次执行的时候,时间都是Jan  3 20:30:35 2018。表示2个线程是同时执行的。由于write方法比talk方法多等待了1秒,因此第2次执行时,2者时间上相差了1秒。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: