千家信息网

Time怎么使用

发表于:2024-10-20 作者:千家信息网编辑
千家信息网最后更新 2024年10月20日,这篇文章主要介绍"Time怎么使用",在日常操作中,相信很多人在Time怎么使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"Time怎么使用"的疑惑有所帮助!接下来,
千家信息网最后更新 2024年10月20日Time怎么使用

这篇文章主要介绍"Time怎么使用",在日常操作中,相信很多人在Time怎么使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"Time怎么使用"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

先看下 Time 简单使用

import timefrom threading import Timer
def test_timer(): print("start=======") t1 = time.time() time.sleep(3) print("ok") t2 = time.time() t21 = t2 - t1 print('t21====', t21)
def async_test_timer(): Timer(1, test_timer, []).start()
if __name__ == "__main__": tm1 = time.time() time.sleep(1) async_test_timer() tm2 = time.time() tm21 = tm2 - tm1 print('tm21=====', tm21)

上面代码的执行结果为:

tm21===== 1.0052900314331055start=======okt21==== 3.0050549507141113

上面的代码是先打印了 tm21 ,然后再执行了 async_test_timer 函数,Timer 类表示一个动作应该在一个特定的时间之后运行 - 也就是一个计时器。Timer是Thread的子类, 因此也可以使用函数创建自定义线程。它是异步的,用它处理耗时的操作很方便。第一个参数是多少秒后执行,第二个参数是函数名,第三个参数是要异步执行的函数所需的参数。

下面附 Timer 类的源码,它继承了 Thread 类。

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
"""
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()

class Thread: """A class that represents a thread of control.
This class can be safely subclassed in a limited fashion. There are two ways to specify the activity: by passing a callable object to the constructor, or by overriding the run() method in a subclass.
"""
_initialized = False # Need to store a reference to sys.exc_info for printing # out exceptions when a thread tries to use a global var. during interp. # shutdown and thus raises an exception about trying to perform some # operation on/with a NoneType _exc_info = _sys.exc_info # Keep sys.exc_clear too to clear the exception just before # allowing .join() to return. #XXX __exc_clear = _sys.exc_clear
def __init__(self, group=None, target=None, name=None, args=(), kwargs=None, *, daemon=None): """This constructor should always be called with keyword arguments. Arguments are:
*group* should be None; reserved for future extension when a ThreadGroup class is implemented.
*target* is the callable object to be invoked by the run() method. Defaults to None, meaning nothing is called.
*name* is the thread name. By default, a unique name is constructed of the form "Thread-N" where N is a small decimal number.
*args* is the argument tuple for the target invocation. Defaults to ().
*kwargs* is a dictionary of keyword arguments for the target invocation. Defaults to {}.
If a subclass overrides the constructor, it must make sure to invoke the base class constructor (Thread.__init__()) before doing anything else to the thread.
""" assert group is None, "group argument must be None for now" if kwargs is None: kwargs = {} self._target = target self._name = str(name or _newname()) self._args = args self._kwargs = kwargs if daemon is not None: self._daemonic = daemon else: self._daemonic = current_thread().daemon self._ident = None self._tstate_lock = None self._started = Event() self._is_stopped = False self._initialized = True # sys.stderr is not stored in the class like # sys.exc_info since it can be changed between instances self._stderr = _sys.stderr # For debugging and _after_fork() _dangling.add(self)

到此,关于"Time怎么使用"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!

函数 参数 学习 代码 更多 帮助 实用 接下来 三个 也就是 动作 子类 文章 方法 时间 源码 理论 知识 篇文章 线程 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 信息及网络安全公需课答案 软件开发 环境因素 mc服务器改名插件 爱奇艺网络安全工程师 深圳市企业网络技术有限公司 时间 服务器 软件开发中的 字典 轻量级影视采集无需数据库 如何用命令登陆mysql数据库服务器 远程云服务器快捷方式 怎么退出数据库登陆 收购高科技互联网企业 计算机网络技术专升本容易吗 服务器安全连接建立失败请检查 扫码充电电动车软件开发 售后好的软件开发人员 上位机不显示数据库 网络技术公司会计核算 温州java软件开发设计 数据库悲观并发锁和乐观并发锁 网络安全传统领域风险可控 信息化和网络安全会议讲话 32串口接收不到数据库 为什么网络监控要用服务器 浦东新区大型网络技术采购信息 导入多张电子表格到数据库 软件开发需求提出流程 海淀区技术软件开发平台 淘汽互联网科技 怎么样才能软件开发学更快
0