频道栏目
首页 > 程序开发 > Web开发 > Python > 正文
python 对一个函数执行速度控制的演示
2011-07-30 11:29:48           
收藏   我要投稿

 

#coding:utf-8

'''''

python 对一个函数执行速度控制的演示,原理和 对网速控制比较类似,这里更简单

'''

import time

 

def RateLimited(maxsec):

    '速度控制修饰函数

    minInterval = 1.0 / float(maxsec)

    def decorate(func):

        #使用数组 记录上一次的时间,利用闭包还是蛮方便的

        lastTimeCalled = [0.0]

        def rateLimitedFunction(*args,**kargs):

            elapsed = time.time() - lastTimeCalled[0]

            #计算剩余时间

            leftToWait = minInterval - elapsed

            if leftToWait>0:

                #时间未到先暂停一会

                time.sleep(leftToWait)

            ret = func(*args,**kargs)

            #更新时间

            lastTimeCalled[0] = time.time()

            return ret

        return rateLimitedFunction

    return decorate

 

@RateLimited(0.5)  # 每秒最多调用几次

def PrintNumber(num):

    print num

 

if __name__ == "__main__":

    print "打印1,2,3... 每2秒打印一个"

    for i in range(1,100):

        PrintNumber(i)  

点击复制链接 与好友分享!回本站首页
相关TAG标签 函数 速度
上一篇:urllib 如何限速下载
下一篇:Python常用知识点汇总
相关文章
图文推荐
文章
推荐
点击排行

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站