文章目录
- 一、问题来源
- 二、注意事项
- 三、举例
一、问题来源
问题是这样的,在python中写代码遇到个问题,跑程序时有某一步很耗时,导致接口响应的时间很慢,那么就有个办法,把这一步放入异步线程中,主线程走主线程的,耗时的一步异步就行,这也就是异步的思想的应用了。
二、注意事项
这个方法的唯一要注意的是,耗时的步骤不影响返回的数据,比如可以是保存东西,做个标识等等。
三、举例
举个例子,如主线程生成数字,异步线程打印出来:
import random
import threading
import timeprint_list = []def print_number():time.sleep(10)print("=========> enter print_number<==========\n")while True:for i in print_list:print(i)print_list.pop()def generate_number():print("=========> enter generate_number<==========\n")n = 5while n > 0:# time.sleep(2)number = random.randint(10000, 99999)print_list.append(number)n -= 1if __name__ == "__main__":thread = threading.Thread(target=print_number) # 另开异步线程打印数字# thread.daemon = True # 设置为守护线程,主线程结束时,该线程也会结束thread.start()generate_number() # 主线程生成数字
这就ok了~ Enjoy~
∼ O n e p e r s o n g o f a s t e r , a g r o u p o f p e o p l e c a n g o f u r t h e r ∼ \sim_{One\ person\ go\ faster,\ a\ group\ of\ people\ can\ go\ further}\sim ∼One person go faster, a group of people can go further∼