python 多线程内子线程结束后执行主线程

今天写case时发现一个场景,请求助力接口后需要统计被助力用户的助力次数
助力接口用线程并发的方式进行,代码如下

    def test_case_08(self):"""多用户并发助力"""t1 = [threading.Thread(target=PreheatMethod().help, args=(i, self.A, 1)) for i in self.uid_list][i.start() for i in t1]response = PreheatMethod().init(self.A)print(f"当前用户被助力次数 :{response['data']['userInfo']['helpedCount']}次")

线程这里采用列表推导式进行uid列表循环制作线程

t1 = [threading.Thread(target=PreheatMethod().help, args=(i, self.A, 1)) for i in self.uid_list]

发现的问题就是,子线程进行第一个线程i.start()时就会直接执行下面的PreheatMethod().init(self.A)方法这样就没发起到统计的作用了
解决方法:添加[j.join() for j in t1]进行子线程阻塞

 def test_case_08(self):"""多用户并发助力"""t1 = [threading.Thread(target=PreheatMethod().help, args=(i, self.A, 1)) for i in self.uid_list][i.start() for i in t1][j.join() for j in t1]response = PreheatMethod().init(self.A)print(f"当前用户被助力次数 :{response['data']['userInfo']['helpedCount']}次")

主程序将一直等待子程序全部运行完成才结束

python 多线程内子线程结束后执行主线程相关推荐

  1. python如何在所有线程结束后执行最后操作_Python线程的生命周期

    在线程的生命周期中,从创建到执行以及最终终止,线程通常处于四种状态之一:开始态.可调度状态.阻塞态和终止态. 父线程和子线程 当一个新的进程或程序开始运行时,它将以一个线程开始,这个线程被称为主线程. ...

  2. pthread_detach():主线程与子线程分离,子线程结束后,资源自动回收

    https://github.com/Rtoax/test/tree/master/c/glibc/pthread 目录 前言 pthread_join() pthread_detach() 前言 1 ...

  3. python 多线程 setdaemon_python使用Thread的setDaemon启动后台线程教程

    多线程编程当中, 线程的存在形态比较抽象. 通过前台线程后台线程, 可以有效理解线程运行顺序.(复杂的多线程程序可以通过设置线程优先级实现) 后台线程与前台线程的直接区别是, 1)setDaemon( ...

  4. 线程池如何保证所有子线程运行完再执行主线程

    Java主线程等待所有子线程执行完毕在执行,其实在我们的工作中经常的用到,比如说主线程要返回一个响应用户的值,但这个值得赋值过程是由过个子线程来完成的(模拟一个实际开发的情景),所以主线程必须等待子线 ...

  5. python多线程文件的数据续传_python38 1.线程一堆队列 2.事件Event 3.协程 4.断点续传...

    复习 1.GIL锁 2.如何避免GIL锁给程序带来的效率影响 3.与自定义锁的区别 4. 线程池进程池 5 同步 异步 6.异步回调 1.GIL锁 ​ 全局解释器锁, 用来锁住解释器的互斥锁 ​ 为啥 ...

  6. Python 多线程、守护进程、同时运行最大线程数、锁、线程阻塞(线程暂停和继续)

    python 多线程的使用笔记 1.多线程的基本用法 (1)简单任务多线程的开启方式 from threading import Thread import timedef target(name, ...

  7. c++ 等待子线程结束_?进程、线程、以及它们之间的区别与联系

    一.进程简介 1.1 进程概念的引入 计算机中,CPU是最宝贵的资源,为了提高CPU的利用率,引入了多道程序设计的概念.当内存中多个程序存在时,如果不对人们熟悉的"程序"的概念加以 ...

  8. python多线程调度_python并发编程之进程、线程、协程的调度原理(六)

    进程.线程和协程的调度和运行原理总结. 系列文章 进程.线程的调度策略介绍 linux中的进程主要有三种调度策略: 优先级调度:将进程分为普通进程和实时进程: 先进先出(队列)调度:实时进程先创建的先 ...

  9. python编程(你的电脑能够执行多少线程和进程)

    [ 声明:版权所有,欢迎转载,请勿用于商业用途. 联系信箱:feixiaoxing @163.com] 对python比较熟悉的同学,相信都写过多线程和多进程的代码.可是,不知道大家有没有这么一个想法 ...

  10. c++ 等待子线程结束_进程和线程

    1.进程的基本概念 进程简单说就是运行中的可执行文件.代码经过编译后生成二进制可执行文件,当运行该可执行文件时,代码被装载到内存中,然后CPU会执行程序中的指令. 有关进程调度,例如进程A,进程B,C ...

最新文章

  1. Python中的张量分解
  2. 同步一张表、复制过滤设置
  3. Field creation not permitted in partner development mode
  4. java 读取 image_如何在java读取sql里头读取image格式的数据转换成图片格式
  5. Oracle run leve,UNIX自动启动oracle
  6. PostgreSQL存储引擎源码分析五(原创,不断更新)
  7. php wmi,wmi与vbs
  8. linux shell tr,shell脚本 之 tee tr
  9. webdriver原理_(最新版)如何正确移除 Pyppeteer 中的window.navigator.webdriver
  10. vs2019写c语言用不了scanf,VS2010里编C程式不能用scanf()吗?
  11. 安卓和php开发融云聊天室,聊天室
  12. Java通过JNI/JNA加载dll库文件调用C接口,出现“java.lang.UnsatisfiedLinkError:包名.类.方法(参数)”问题
  13. 基于Python的指数基金量化投资 - 指数投资技巧(一)定期定额
  14. JS实现弹窗效果,超简单哦
  15. 100天精通Andriod逆向——第4天:各种抓包工具学习
  16. 函数的 smoothness 和 convexity
  17. #!/usr/bin/env node 到底是什么
  18. Polygon zkEVM的pil-stark Fibonacci状态机初体验
  19. 2023最新最全git安装教程,保姆级手把手式安装!!!
  20. Android端一对一视频聊天系统功能实现方式

热门文章

  1. Cascading介绍
  2. 索爱无线小蜜蜂扩音器:小巧便携、超大功率,讲课用它事半功倍
  3. 计算机化学对高分子科学的贡献,计算机在化学中的应用论文(2)
  4. Python办公自动化之PPT幻灯片自动化:使用Python制作PPT 操作PPT
  5. 1575万美元!2023科学突破奖揭晓,AlphaFold、量子计算等突破斩获殊荣
  6. 查看eclipse是多少位
  7. 那些拿到腾讯、阿里等大厂offer的人,都有这个共同点
  8. 魔门云获得百万级天使轮投资,由创客100创投基金领投
  9. 京东app后台多端融合架构代码重构实战
  10. 京东后台模板导入SKU报格式错误