7.3.8.3 - 并发多线程 死锁和递归锁 - 定时器

时间:2023-01-15 00:10:04

定时器,指定n秒后执行某操作

from threading import Thread, Timer

def hello():
    print("hello, world")


print("start")
t = Timer(5, hello)
t.start()
7.3.8.3 - 并发多线程 死锁和递归锁 - 定时器7.3.8.3 - 并发多线程 死锁和递归锁 - 定时器
start
hello, world  # 5秒后输出
运行结果

 

定时输入验证码,错误继续,正确退出

import random
from threading import Timer
class Code:
    def __init__(self):
        self.make_cache()

    def make_cache(self,interval=5):
        self.cache = self.make_code()
        print(self.cache)
        self.t = Timer(interval,self.make_cache)
        self.t.start()

    def make_code(self,n=4):
        res = ""
        for i in range(n):
            s1 = str(random.randint(0, 9))
            s2 = chr(random.randint(65, 90))
            res += random.choice([s1, s2])
        return res

    def check(self):
        while True:
            code = input("pls input your code>>: ").strip()
            if code.upper() == self.cache:
                print("OK")
                self.t.cancel()
                break

obj = Code()
obj.check()

7.3.8.3 - 并发多线程 死锁和递归锁 - 定时器