前言
本系列课程是针对无基础的,争取用简单明了的语言来讲解,学习前需要具备基本的电脑操作能力,准备一个已安装python环境的电脑。如果觉得好可以分享转发,有问题的地方也欢迎指出,在此先行谢过。
关于什么是进程和线程,网上有很多说法,个人觉的廖大神说的挺好理解的:
对于操作系统来说,一个任务就是一个进程,多进程就是多个任务。比如打开一个浏览器就是启动一个浏览器进程,打开一个记事本就启动了一个记事本进程,打开两个记事本就启动了两个记事本进程,打开一个Word就启动了一个Word进程。
有些进程还不止同时干一件事,比如Word,它可以同时进行打字、拼写检查、打印等事情。在一个进程内部,要同时干多件事,就需要同时运行多个“子任务”,我们把进程内的这些“子任务”称为线程(Thread)。
由于每个进程至少要干一件事,所以,一个进程至少有一个线程。当然,像Word这种复杂的进程可以有多个线程,多个线程可以同时执行,多线程的执行方式和多进程是一样的,也是由操作系统在多个线程之间快速切换,让每个线程都短暂地交替运行,看起来就像同时执行一样。当然,真正地同时执行多线程需要多核CPU才可能实现。
python提供了一个叫做threading的线程模块,threading里面提供了Thread类来创建一个线程对象。
下面的例子演示了启动一个线程并等待其结束:
不带参数的
带有参数的,注意参数如果只有一个,后面要加个 逗号,不然会报错
Python提供了一个可以跨平台的多进程模块支持——multiprocessing多进程模块。
multiprocessing模块有一个Process类来代表一个进程对象,下面的例子演示了启动一个子进程并等待其结束:
创建多线程很简单,只要多新建几个就可以了,如果更多可以使用循环的方式。
active_count() # 存活的线程数量
current_thread()# 当前线程
get_ident())# 线程标识 返回当前线程的 “线程标识符”。它是一个非零的整数
enumerate())# 当前存活的所有线程 返回列表
main_thread())# 主线程
多进程和线程一样,多创建几次就可以了。
进程池
进程如果要创建多个,除了上面的方法或者循环,还有进程池的方法,可以一次批量创建。
(全文完)
欢迎转载,转载请注明出处! 欢迎关注公众微信号:叶子陪你玩编程 分享自己的python学习之路