Python多线程详解
2023-06-13 09:11:06 时间
多任务的介绍
- 多任务指的是在同一之间内执行多个任务
- 并发
- 在一段时间内交替的去执行多个任务,例如单核的CPU处理多任务,操作系统要让各个任务交替执行。
- 前提是任务量大于CPU的核数
- 并行
- 在一段时间内真正的同时一起执行多个任务
- 对于多核心CPU处理多任务,操作系统会给CPU的每个内核安排一个执行任务,多个内核是真正的
一起同时执行多个任务
。
进程的介绍
如何在程序中实现多任务的方式?
- 进程的概念:进程(Process)是资源分配的最小单位,它是操作系统进行资源分配和调度运行的基本单位,通俗理解就是一个正在运行的程序就是一个进程。
在Python
中,想要实现多任务可以通过多线程来完成。
- 操作系统会优先创建一个主进程->然后在创建一个子进程
进程的创建步骤
target
: 执行的任务名称,这里指的是函数名(方法名)name
: 进程名字group
: 进程组,目前只能使用None
multiprocessing.Process(target=任务名,name=进程运行名称,group=进程组)
#!/usr/bin/python3
import multiprocessing
import time
def sing():
for i in range(3):
print("唱歌")
time.sleep(0.5)
def dance():
for i in range(3):
print("跳舞")
time.sleep(0.5)
if __name__ == '__main__':
# 指定此进程的处理函数
targets1 = multiprocessing.Process(target=sing)
targets2 = multiprocessing.Process(target=dance)
targets1.start()
targets2.start()
执行带有参数的任务
args
:以元祖的方式给任务传输参数kwargs
: 以字典的方式给任务传参
import multiprocessing
import time
def sing(number):
for i in range(number):
print("唱歌")
time.sleep(0.5)
def dance(number):
for i in range(number):
print("跳舞")
time.sleep(0.5)
if __name__ == '__main__':
# 指定此进程的处理函数
targets1 = multiprocessing.Process(target=sing,args=(6,))
# 使用字典给指定传参
targets2 = multiprocessing.Process(target=dance,kwargs={'number':4})
targets1.start()
targets2.start()
相关文章
- Python爬虫之多线程
- python中pygame怎么安_Python中pygame安装方法图文详解
- python常用面试题_Python+Selenium 常见面试题整理[通俗易懂]
- python最好的开发工具_Python编译器
- python udp编程_Python核心编程
- python多线程tomorrow的使用
- python为什么需要函数、类这些概念
- Python生成器详解
- Python利用多线程定时执行cmd命令关机详解编程语言
- 用Python多线程抓取并验证代理详解编程语言
- python多线程多队列详解编程语言
- python入门(九):网络编程和多线程详解编程语言
- 小白的Python之路 day5 python模块详解及import本质编程语言
- Python 基于python实现的http+json协议接口自动化测试框架源码(实用改进版)详解编程语言
- 搞定!Linux下快速设置Python环境变量(linux设置python环境变量)
- python之多线程队列详解编程语言
- Python标识符命名规则
- Python模块是什么(超级详细)
- 在Linux上学习Python——你的编程之路(linux学python)
- Linux环境下Python开发的历程(linux与python)
- Python连接MySQL数据库:初学者指南(python入mysql)
- python多线程threading.Lock锁用法实例
- Python中多线程及程序锁浅析