当前位置: 首页 > news >正文

python的多线程多进程与多协程

python的多线程是假多线程,本质是交叉串行,并不是严格意义上的并行,或者可以这样说,不管怎么来python的多线程在同一时间有且只有一个线程在执行(举个例子,n个人抢一个座位,但是座位就这一个,不管怎么抢同一时间只有一个人在座位上可能前一秒是a在座位上座,后一秒b就给抢去了)
多线程大体上有两种实现方式
1.继承

threading模块
建立一个类然后继承这个类threading.Thread

import threading# 创建动作类继承threading.Thread
class MyThread(threading.Thread):def __init__(self, name):threading.Thread.__init__(self, name=name)# 重写run方法,此时run方法里面的动作就是此线程会执行的动作def run(self):print('thread {} is running'.format(self.name))temp_list = ['thread1', 'thread2']
t1 = MyThread('thread1')
t2 = MyThread('thread2')temp1 = [MyThread(t) for t in temp_list]
temp2 = [s.start() for s in temp1]
temp3 = [j.join() for j in temp1]

2.线程类传参

import threading
import timedef worker(a, b):while True:print('Worker thread running  {} {}'.format(a, b))time.sleep(1)a = 123
b = "hahaha"
# 创建守护线程
t = threading.Thread(target=worker, args=(a, b, ), daemon=True)
# 启动线程
t.start()
# join()调用之后程序会等到此线程结束后再执行t.join()后面主线程的代码
t.join()# 主线程执行一些操作
print('Main thread running')
time.sleep(5)
print('Main thread finished')
http://www.lryc.cn/news/172129.html

相关文章:

  • 一文介绍使用 JIT 认证后实时同步用户更加优雅
  • 搞定“项目八怪”,你就是管理高手!
  • 机器视觉-标定篇
  • linux离线安装make
  • 【深度学习】卷积神经网络(LeNet)【文章重新修改中】
  • win10 Baichuan2-7B-Chat-4bits 上部署 百川2-7B-对话模型-4bits量化版
  • 2023/9/20总结
  • 【Git】git 分支或指定文件回退到指定版本
  • Java 消息策略的实现 - Kafak 是怎么设计的
  • c++opencv RotatedRect 旋转矩形角度转换和顶点顺序转换
  • Flink-CDC 抽取SQLServer问题总结
  • Linux 系统目录结构 终端
  • Layui + Flask | 实现注册、登录功能(案例篇)(08)
  • GitLab数据迁移后出现500错误
  • 音乐随行,公网畅享,群辉Audiostation给你带来听歌新体验!
  • 机器学习入门:从算法到实际应用
  • 【Vue.js】vue-cli搭建SPA项目并实现路由与嵌套路由---详细讲解
  • Node.js 调用 fluent-ffmpeg
  • scrapy框架--
  • 算法通关村第十五关——从40亿个数中产生一个不存在的数的处理方法
  • 软件项目开发的流程及关键点
  • 全球变暖问题(floodfill 处理联通块问题)
  • 由于找不到vcruntime140_1.dll怎么修复,详细修复步骤分享
  • 算法 三数之和-(双指针)
  • AB实验总结
  • sklearn包中对于分类问题,如何计算accuracy和roc_auc_score?
  • python温度转换程序
  • Vue2中10种组件通信方式和实践技巧
  • Flutter flutter.minSdkVersion的实际文件位置
  • python生成PDF报告