首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >.after()方法递归

.after()方法递归
EN

Stack Overflow用户
提问于 2015-01-02 16:23:46
回答 2查看 732关注 0票数 1

多次遇到类似的代码结构,当我在threading.Thread实现中看到这种情况时,我只需要问行self.master.after(100, self.periodicCall)是否会消耗越来越多的内存,因为它是一个递归函数调用……是的,不是吗?

代码语言:javascript
复制
class arbitraryClass():
    def __init__(self, master):
        ... # other miscellaneous codes not shown here
        self.periodicCall() # within the __init__() method

    def periodicCall(self): 
        self.doSomething() #arbitrary method
        self.master.after(100, self.periodicCall)
        ... # other miscellaneous codes not shown here
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-01-02 16:29:06

periodicCall方法不直接调用自己;它不是递归调用。

它请求tkinter事件循环在给定的时间内调用该方法;不需要担心内存消耗。

票数 2
EN

Stack Overflow用户

发布于 2016-10-17 07:08:53

该方法不是递归的。

对after()的每个调用只运行一次回调。要重复调用它,需要重新注册回调本身。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27745184

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档