温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Time怎么使用

发布时间:2022-03-19 14:20:19 来源:亿速云 阅读:109 作者:iii 栏目:大数据

这篇文章主要介绍“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怎么使用

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

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI