python多线程并发数量控制

Python022

python多线程并发数量控制,第1张

python多线程如果不进行并发数量控制,在启动线程数量多到一定程度后,会造成线程无法启动的错误。

控制多线程并发数量的方法有好几钟,下面介绍用queue控制多线程并发数量的方法。python3

并发:逻辑上具备同时处理多个任务的能力。

并行:物理上在同一时刻执行多个并发任务。

举例:开个QQ,开了一个进程,开了微信,开了一个进程。在QQ这个进程里面,传输文字开一个线程、传输语音开了一个线程、弹出对话框又开了一个线程。

总结:开一个软件,相当于开了一个进程。在这个软件运行的过程里,多个工作同时运转,完成了QQ的运行,那么这个多个工作分别有多个线程。

线程和进程之间的区别:

进程在python中的使用,对模块threading进行操作,调用的这个三方库。可以通过 help(threading) 了解其中的方法、变量使用情况。也可以使用 dir(threading) 查看目录结构。

current_thread_num = threading.active_count() # 返回正在运行的线程数量

run_thread_len = len(threading.enumerate()) # 返回正在运行的线程数量

run_thread_list = threading.enumerate() # 返回当前运行线程的列表

t1=threading.Thread(target=dance) #创建两个子线程,参数传递为函数名

t1.setDaemon(True) # 设置守护进程,守护进程:主线程结束时自动退出子线程。

t1.start() # 启动子线程

t1.join() # 等待进程结束 exit()`# 主线程退出,t1子线程设置了守护进程,会自动退出。其他子线程会继续执行。