# 定时器&多线程

标准的

import datetime
import schedule
import threading
import time

def job1():
    print("I'm working for job1 start", datetime.datetime.now())
    time.sleep(5)
    print("job1: end", datetime.datetime.now())

def job2():
    print("I'm working for job2 start", datetime.datetime.now())
    time.sleep(3)
    print("job2: end", datetime.datetime.now())

def job1_task():
    threading.Thread(target=job1).start()

def job2_task():
    threading.Thread(target=job2).start()

def run():
    schedule.every(3).seconds.do(job1_task)
    schedule.every(3).seconds.do(job2_task)

    while True:
        schedule.run_pending()
        time.sleep(1)
if __name__ == '__main__':
    run()
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30

改造的

import datetime
import schedule
import threading
import time

def fn(name):
    print(name, "I'm working start", datetime.datetime.now())
    time.sleep(5)
    print(name, " end", datetime.datetime.now())

def job1_task():
    for i in range(6):
        threading.Thread(target=fn, args=(i,)).start()

def run():
    schedule.every(3).seconds.do(job1_task)

    while True:
        schedule.run_pending()
        time.sleep(1)

if __name__ == '__main__':
    run()

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24