zoukankan      html  css  js  c++  java
  • python实现异步调用函数执行

    在实现异步调用之前我们先进行什么是同步调用和异步调用

    • 同步:是指完成事务的逻辑,先执行第一个事务,如果阻塞了,会一直等待,直到这个事务完成,再执行第二个事务,顺序执行
    • 异步:是和同步相对的,异步是指在处理调用这个事务的之后,不会等待这个事务的处理结果,直接处理第二个事务去了,通过状态、通知、回调来通知调用者处理结果

    分析一下,下面的例子: 
    定义了一个装饰器 async 和 A 、B 两个function 函数
    A 里面sleep 10s , 然后打印 a function 字符串 
    B 里面直接打印 b function 字符串 
    我们顺序调用两个功能: 
    A() 
    B( ) 

    由于函数A在睡的状态,我们又不希望程序被阻塞在函数A的睡的状态,所以我们采用异步执行,即在函数A睡的状态,让其他的任务执行

    from threading import Thread
    from time import sleep
    
    
    def async(f):
        def wrapper(*args, **kwargs):
            thr = Thread(target=f, args=args, kwargs=kwargs)
            thr.start()
    
        return wrapper
    
    
    @async
    def A():
        sleep(10)
        print("函数A睡了十秒钟。。。。。。")
        print("a function")
    
    
    def B():
        print("b function")
    
    
    A()
    B()

    执行结果:

    #b function
    #函数A睡了十秒钟。。。。。。
    #a function
  • 相关阅读:
    这个是我得标题:1548313580
    这个是我得标题:1548310540
    这个是我得标题:1548310330
    这个是我得标题:1548310254
    这个是我得标题:1548241921
    这个是我得标题:1548241799
    这个是我得标题:1548241731
    这个是我得标题:1548241478
    jsp和servlet------jsp
    jsp和servlet-----xml
  • 原文地址:https://www.cnblogs.com/sui776265233/p/10950001.html
Copyright © 2011-2022 走看看