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

Python的asyncio 多线程

  --  多线程、进程、协程是什么就不讲了,(就是你理解的一边呼吸,一边看文章)

仅解决问题的话,下边两篇不用看,

Python 中的 async await 概念-CSDN博客

再深一点的看这个

Python中的多线程、进程、协程、threading、asyncio-CSDN博客



我们这里需求很简单,就是让2个方法都运行!!



这里要用的就是asyncio 库

我们这里要让 loop_func 和 my_func 同时执行,需要3步:

 

第一步,把2个方法前边都加上 async  声明为特殊的func(咱也不道能不能叫多线程方法,问就是特殊不一样)。

第二步,在2个func中各自加 一个锚点 await , 这个就是标志运行到这里就可以执行其他应用了。(这个就很重要)

第三步,创建任务,用loop 执行起来。


   ---------------------------


那么就这么写:

完整代码如下:


import time
import asyncio

if __name__ == '__main__':

# 定义func 1
    async def loop_func():
        while True:
            for i in range(0,100):
                print("this is loop func runing----",i)

                # 整个锚点
                await asyncio.sleep(3)

# 定义另一个func

    async def my_func():
        print("this is my_func running...")
        while True:
            for i in range(0,100):
                print("this is my_func runing----",i)

                # 再整个锚点
                await asyncio.sleep(3)

# 搞个task 任务, run起来

    loop = asyncio.get_event_loop()
    tasks = [
        my_func(),
        loop_func(),
    ]
    loop.run_until_complete((asyncio.gather(*tasks)))

其中绿色的是关键句子。

就这么简单,之前因为循环体没加锚点,就高低没有并行起来, 浏览器都查冒烟了没找到问题,最后还得是神奇海螺啊! 艹

http://www.lryc.cn/news/318375.html

相关文章:

  • 【分类讨论】【解析几何】【 数学】【推荐】1330. 翻转子数组得到最大的数组值
  • 一文了解Spring的SPI机制
  • django根据时间(年月日)动态修改表名--方法一
  • 实现基本的登录功能
  • Java线程池实现原理及其在美团业务中的实践
  • 让AI给你写代码(四)—— 初步利用LangChain Agent根据输入生成,保存,执行
  • Flutter does not exist
  • AIX上安装gcc和g++
  • js实现扫描线填色算法使用canvas展示
  • 考研模拟面试-题目【攻略】
  • Frostmourne - Elasticsearch源日志告警配置
  • GPT出现Too many requests in 1 hour. Try again later.
  • python爬虫实战——小红书
  • Linux信号机制
  • 区块链技术中的共识机制算法:以权益证明(PoS)为例
  • 19113133262(微信同号)【征稿进行时|见刊、检索快速稳定】2024年区块链、物联网与复合材料与国际学术会议 (ICBITC 2024)
  • Doris:使用表函数explode实现array字段列转行
  • 原生php单元测试示例
  • 计算机毕业设计-springboot+vue前后端分离电竞社交平台管理系统部分成果分享
  • Stable Diffusion 详解
  • Go函数全景:从基础到高阶的深度探索
  • 探秘Nutch:揭秘开源搜索引擎的工作原理与无限应用可能(一)
  • MySQL 数据库 下载地址 国内阿里云站点
  • 【25届秋招备战C++】算法篇-贪心算法(Greedy)
  • scrcpy远程投屏控制Android
  • 找机厅 洛谷 BFS
  • 软件无线电系列——模拟无线电、数字无线电、软件无线电
  • XSS_lab(level11-level18)
  • 【git】常用操作
  • 蓝桥杯第十一届电子类单片机组程序设计