溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Time怎么使用

發(fā)布時(shí)間:2022-03-19 14:20:19 來源:億速云 閱讀:129 作者:iii 欄目:大數(shù)據(jù)

這篇文章主要介紹“Time怎么使用”,在日常操作中,相信很多人在Time怎么使用問題上存在疑惑,小編查閱了各式資料,整理出簡(jiǎn)單好用的操作方法,希望對(duì)大家解答”Time怎么使用”的疑惑有所幫助!接下來,請(qǐng)跟著小編一起來學(xué)習(xí)吧!

先看下 Time 簡(jiǎn)單使用

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)

上面代碼的執(zhí)行結(jié)果為:

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

上面的代碼是先打印了 tm21 ,然后再執(zhí)行了 async_test_timer 函數(shù),Timer 類表示一個(gè)動(dòng)作應(yīng)該在一個(gè)特定的時(shí)間之后運(yùn)行 — 也就是一個(gè)計(jì)時(shí)器。Timer是Thread的子類, 因此也可以使用函數(shù)創(chuàng)建自定義線程。它是異步的,用它處理耗時(shí)的操作很方便。第一個(gè)參數(shù)是多少秒后執(zhí)行,第二個(gè)參數(shù)是函數(shù)名,第三個(gè)參數(shù)是要異步執(zhí)行的函數(shù)所需的參數(shù)。

下面附 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怎么使用

到此,關(guān)于“Time怎么使用”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請(qǐng)繼續(xù)關(guān)注億速云網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)砀鄬?shí)用的文章!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI