Python多线程详解
Python,多线程,详解
2025-03-13 21:27:21 时间
多任务的介绍
- 多任务指的是在同一之间内执行多个任务
- 并发
- 在一段时间内交替的去执行多个任务,例如单核的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粘贴快捷键
- Python项目44-前后端分离项目(前戏)
- pycharm2020.3.4安装教程_python安装pycharm的方法
- Python基础23-SSH模块paramiko
- pycharm 风格_python主题更改
- Python实战 | 送亲戚,送长辈,“ 月饼 ”可视化大屏来帮忙。
- 如何查看python源码_python判断路径是否存在
- Python项目51-课程页面
- pycharm无法使用第三方库_python第三方库安装失败
- 如何设置python的环境变量_anaconda环境变量手动设置
- Python 调用接口进行文件上传的踩坑记录
- python+pycharm+pyqt5安装教程「建议收藏」
- pycharm python interpreter_python interpreter什么意思
- python+selenium环境搭建_pycharm配置anaconda环境
- python 字符串(字符序列)和字节序列
- 推荐!国内气象人开发的基于Python的Grads文件解析利器
- pycharm提示no python interpreter_pycharm代码运行不了
- 如何在pycharm运行python_pycharm怎么运行部分代码
- python+pycharm安装_pycharm安装教程2020
- python报错no module named_pycharm报错no module named