Python的进程和线程

进程与线程的历史

我们都知道计算机是由硬件和软件组成的。硬件中的CPU是计算机的核心,它承担计算机的所有任务。操作系统是运行在硬件之上的软件,是计算机的管理者,它负责资源的管理和分配、任务的调度。程序是运行在系统上的具有某种功能的软件,比如说浏览器,音乐播放器等。每次执行程序的时候,都会完成一定的功能,比如说浏览器帮我们打开网页,为了保证其独立性,就需要一个专门的管理和控制执行程序的数据结构——进程控制块。进程就是一个程序在一个数据集上的一次动态执行过程。进程一般由程序、数据集、进程控制块三部分组成。我们编写的程序用来描述进程要完成哪些功能以及如何完成;数据集则是程序在执行过程中所需要使用的资源;进程控制块用来记录进程的外部特征,描述进程的执行变化过程,系统可以利用它来控制和管理进程,它是系统感知进程存在的唯一标志。

在早期的操作系统里,计算机只有一个核心,进程执行程序的最小单位,任务调度采用时间片轮转的抢占式方式进行进程调度。每个进程都有各自的一块独立的内存,保证进程彼此间的内存地址空间的隔离。随着计算机技术的发展,进程出现了很多弊端,一是进程的创建、撤销和切换的开销比较大,二是由于对称多处理机(对称多处理机(SymmetricalMulti-Processing)又叫SMP,是指在一个计算机上汇集了一组处理器(多CPU),各CPU之间共享内存子系统以及总线结构)的出现,可以满足多个运行单位,而多进程并行开销过大。这个时候就引入了线程的概念。线程也叫轻量级进程,它是一个基本的CPU执行单元,也是程序执行过程中的最小单元,由线程ID、程序计数器、寄存器集合和堆栈共同组成。线程的引入减小了程序并发执行时的开销,提高了操作系统的并发性能。线程没有自己的系统资源,只拥有在运行时必不可少的资源。但线程可以与同属与同一进程的其他线程共享进程所拥有的其他资源。

进程与线程之间的关系

线程是属于进程的,线程运行在进程空间内,同一进程所产生的线程共享同一内存空间,当进程退出时该进程所产生的线程都会被强制退出并清除。线程可与属于同一进程的其它线程共享进程所拥有的全部资源,但是其本身基本上不拥有系统资源,只拥有一点在运行中必不可少的信息(如程序计数器、一组寄存器和栈)。

python线程

Threading用于提供线程相关的操作,线程是应用程序中工作的最小单元。

以上内容为大家介绍了Python的进程和线程,希望对大家有所帮助,如果想要了解更多Python相关知识,请关注我们http://www.mobiletrain.org/

推荐阅读

    linux全部进程命令?

    linux全部进程命令?,系统,地址,软件,工作,情况,进程,命令,信息,实时,标准,Lin

    linux系统名称命令?

    linux系统名称命令?,系统,工作,地址,管理,信息,标准,名称,网络,命令,目录,Lin

    linux系统命令行在?

    linux系统命令行在?,系统,地址,工作,管理,信息,工具,最新,密码,首页,标准,怎

    linux下查看线程命令?

    linux下查看线程命令?,系统,线程,第一,进程,底部,环境,命令,选项,手册,存在,l

    手机linux命令行软件?

    手机linux命令行软件?,软件,系统,工具,名称,电脑,互动,设备,手机,代码,服务,

    linux命令行连数据库?

    linux命令行连数据库?,地址,服务,信息,名字,数据库,密码,网络,一致,软件,系

    linux系统命令改时间?

    linux系统命令改时间?,时间,系统,服务,大陆,国家,基础,城市,命令,时区,时钟,

    linux管理员更换命令?

    linux管理员更换命令?,密码,系统,用户,命令,管理,电脑,对方,终端,提示,用户

    查看linux进程的命令?

    查看linux进程的命令?,系统,信息,名称,进程,情况,命令,状态,软件,材料,第一,

    linux做系统盘命令?

    linux做系统盘命令?,系统,信息,设备,软件,情况,报告,工具,命令,首次,网上,Lin

    linux系统重亲命令?

    linux系统重亲命令?,工作,系统,标准,设备,名称,服务,命令,提示,主机,级别,详

    运行linux命令的软件?

    运行linux命令的软件?,软件,平台,系统,灵活,工具,管理,终端,协议,服务器,用

    linux系统测试命令?

    linux系统测试命令?,系统,工作,地址,标准,信息,命令,数据,单位,软件,目录,软

    linux中查做进程命令?

    linux中查做进程命令?,系统,状态,进程,情况,信息,软件,命令,实时,多地,代码,L

    linux系统安卓命令?

    linux系统安卓命令?,系统,软件,信息,数据,地址,标准,名字,设备,工作,网络,lin

    Python3多线程爬虫讲解

    Python3多线程爬虫讲解,代码,分时,系统,网络,状态,培训,做多,时间,线程,爬