zoukankan      html  css  js  c++  java
  • Python异步处理

    回调函数是实现异步操作的常用手法

    1、callback版本的示例,其中framework调用logic,在完成某些操作或者接收到信号后,用callback返回异步结果

    #!/usr/bin/env python2.7
    
    def framework(logic,callback):
            s=logic()
            print "[FX] logic:",s
            print "[FX] do something..."
    
            for i in xrange(1000000):
                    a=i+1
            callback("async:"+s)
    
    def logic():
            s="mylogic"
            return s
    
    def callback(s):
            print s
    
    
    framework(logic,callback)

     2、使用yield改进的blocking style版本:

    #!/usr/bin/env python2.7
    #-*- coding:utf8 -*-
    
    def framework(logic):
            try:
                    it = logic()
                    s = next(it)
    
                    print "[FX] logic:",s
                    print "[FX] do something"
    
                    f=open("test.txt",'w')
                    for i in xrange(1000000000):
                            f.write(str(i)+'
    ')
                    f.close()
    
                    it.send("async:" + s)
            except StopIteration:
                    pass
    
    def logic():
            s = "mylogic"
            r = yield s
    
            print r
    
    framework(logic)
  • 相关阅读:
    神经网络回顾-感知机
    遗传算法杂记
    差分进化算法DE和粒子群算法PSO
    遗传算法GA
    Caffe学习 五 conv_layer与im2col
    Selenium
    Selenium
    Selenium
    Selenium
    Selenium
  • 原文地址:https://www.cnblogs.com/gsblog/p/3336568.html
Copyright © 2011-2022 走看看