zoukankan      html  css  js  c++  java
  • 初略 异步IO

    import asyncio
    asyncio.coroutine()
    from concurrent.futures import  ThreadPoolExecutor
    
    def task():
        print("read start")
        with open(r"D:python视频存放目录上海python全栈4期day40多路复用,降低CPU占用服务器.py",encoding="utf-8") as f:
            text = f.read()
            # f.write()
        print("read end")
        return text
    
    
    def fin(f):
        print("fin")
        print(f.result())
    
    
    pool = ThreadPoolExecutor(1)
    future = pool.submit(task)
    future.add_done_callback(fin)
    
    print("主 over")
    # 这种方式看起来像是异步IO 但是对于子线程而言不是
    # 在子线程中 执行read 是阻塞的 以为CPU必须切走 但是不能保证切到当前程序的其他线程
    # 想要的效果就是 在执行read 是不阻塞 还能干其他活   谁能实现  只有协程
    # asyncio 内部是使用的是协程
    代码
  • 相关阅读:
    Redis详解(一)——RDB
    十、行锁
    go 上下文context
    go log
    go 结构体取代类
    go select
    go channel
    go 协程(Goroutine)
    go 学习之fmt包
    go 学习之bufio
  • 原文地址:https://www.cnblogs.com/TF511/p/9959004.html
Copyright © 2011-2022 走看看