python重复执⾏函数_Pythonthreading单线程timer重复调⽤函
数
项⽬中需要使⽤定时器,每次都使⽤构造器函数调⽤:
timer = threading.Timer(timerFlag, upload_position)
timer.start()
打印线程后发现,每次都会创建⼀个新的⼦线程,虽然活跃的线程只有⼀个,但是也是种资源浪费:
print("threading active = {} \n \n".umerate()))
#打印
threading active = [<_mainthread stopped>, ]
threading active = [<_mainthread stopped>, ]
threading active = [<_mainthread stopped>, ]
按钮样式怎么修改
threading active = [<_mainthread stopped>, ]
前端mvvm框架threading active = [<_mainthread stopped>, ]
threading active = [<_mainthread stopped>, ]
threading active = [<_mainthread stopped>, ]
阅读源码和⽂档
class Timer(Thread):
"""Call a function after a specified number of seconds:
t = Timer(30.0, f, args=None, kwargs=None)
t.start()
t.cancel() # stop the timer's action if it's still waiting
"""
matlab直方图显示def __init__(self, interval, function, args=None, kwargs=None):
Thread.__init__(self)
self.interval = interval
self.function = function
self.args = args if args is not None else []
self.kwargs = kwargs if kwargs is not None else {}
self.finished = Event()
def cancel(self):
"""Stop the timer if it hasn't finished yet."""
self.finished.set()
def run(self):
self.finished.wait(self.interval)
if not self.finished.is_set():
self.function(*self.args, **self.kwargs)
self.finished.set()
# Special thread class to represent the main thread
# This is garbage collected through an exit handler
发现,其实Timer是threading的⼦类,⽤wait实现了定时效果,绑定了⼊参function,于是修改代码如下
def startTimer():
global timer
if timer != None:
json在线解析json在线解析timer.finished.wait(timerFlag)
timer.function()
else:
timer = threading.Timer(timerFlag, upload_position)
猫影视json解析接口timer.start()
打印结果:
threading active = [<_mainthread stopped>, ]
threading active = [<_mainthread stopped>, ]
threading active = [<_mainthread stopped>, ]
threading active = [<_mainthread stopped>, ]
threading active = [<_mainthread stopped>, ]
threading active = [<_mainthread stopped>, ]
始终只有⼀个线程且重复调⽤函数⽅法~End~
Python:学会创建并调⽤函数
这是关于Python的第4篇⽂章,主要介绍下如何创建并调⽤函数. print():是打印放⼊对象的函数 len():是返回对象长度的函数 input():是让⽤户输⼊对象的函数 ... 简单来说,函数 ...
Python 学习 第七篇:函数1(定义、调⽤和变量的作⽤域)
函数是把⼀些语句集合在⼀起的程序结构,⽤于把复杂的流程细分成不同的组件,能够减少代码的冗余.代码的复⽤和修改代码的代价. 函数可以0个.1个或多个参数,向函数传递参数,可以控制函数的流程.函数还可以返 ...
Python之调⽤函数
Python之调⽤函数 Python内置了很多有⽤的函数,我们可以直接调⽤. 要调⽤⼀个函数,需要知道函数的名称和参数,⽐如求绝对值的函数abs,它接收⼀个参数. 可以直接从Python的官⽅⽹站查 ...
python 调⽤函数
python⼊门(13)获取函数帮助和调⽤函数
python调⽤函数超时设置
『Python』为什么调⽤函数会令引⽤计数+2
python入门教程网盘⼀.问题描述 Python中的垃圾回收是以引⽤计数为主,分代收集为辅,引⽤计数的缺陷是循环引⽤的问题.在Python中,如果⼀个对象的引⽤数为0,Python虚拟机就会回收这个对象的内存. sys.g ...
python函数(⼀)调⽤函数
在python中内置了很多函数或者类,⽐如:int,str,list,tuple,等.当然也可以⾃建函数,这个放在后⽂讨论.原理如下: 其实python中的类和⽅法⾮常⾮常多,这⾥只是以点带⾯,提供⼀ ...
Python &semi;获取被调⽤函数名称,所处模块,被调⽤代码⾏
获取被调⽤函数名称,所处模块,被调⽤代码⾏ by:授客 QQ:1033553122 module2.py: #!/usr/bin/env python # -*- coding:utf-8 -*- _ ...
随机推荐
多线程中使⽤CheckForIllegalCrossThreadCalls = false访问窗⼝-转
在多线程程序中,新创建的线程不能访问UI线程创建的窗⼝控件,如果需要访问窗⼝中的控件,可以在窗⼝构造函数中将CheckForIllegalCrossThreadCalls设置为 false publi ...
在Windows上安装虚拟机详细图⽂教程
&lbrack;转载] ⾃定义百度⽹盘分享密码 (Javascript)
压缩版 javascript:require(["function-widget-1:share/util/service/createLinkShare.js"]).protot ...
Spring 配置⾃动扫描spring bean配置
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论