python中的线程和进程

一、进程
    程序编写完没有运行称之为程序。正在运行的代码就是进程。在Python3语言中,对多进程支持的是multiprocessing模块和subprocess模块。multiprocessing模块为在子进程中运行任务、通讯和共享数据,以及执行各种形式的同步提供支持。
二、线程
   线程也是实现多任务的一种方式,一个进程中,也经常需要同时做多件事,就需要同时运行多个‘子任务’,这些子任务就是线程。一个进程可以拥有多个并行的线程,其中每一个线程,共享当前进程的资源。

区别 进程 线程
根本区别 作为资源分配的单位 调度和执行的单位
开销 每一个进程都有独立的代码和数据空间,进程间的切换会有较大的开销 线程可以看出是轻量级的进程,多个线程共享内存,线程切换的开销小
所处环境 在操作系统中,同时运行的多个任务 在程序中多个顺序流同时执行
分配内存 系统在运行的时候为每一个进程分配不同的内存区域 线程所使用的资源是他所属进程的资源
包含关系 一个进程内可以拥有多个线程 线程是进程的一部分,所有线程有时候称为是轻量级的进程

进程和线程在使用上各有优缺点:线程执行开销小,但不利于资源的管理和保护,而进程正相反。
   在Python程序中,可以通过“_thread”和threading(推荐使用)这两个模块来处理线程。在Python3中,thread模块已经废弃。可以使用threading模块代替。所以,在Python3中不能再使用thread模块,但是为了兼容Python3以前的程序,在Python3中将thread模块重命名为“_thread”。

原创文章 81 获赞 48 访问量 3万+

猜你喜欢

转载自blog.csdn.net/qq_15181569/article/details/96863933