python提供了两个多线程模块thread、threading,但是threading更加成熟,所以我直接学习的threading,接下来我们用一个例子来做说明:就用我们最常见的两件事来举例吧,同时进行吃饭和玩手机
#-*- coding:utf-8 -*- #name:sizhi import threading from time import ctime,sleep def eat(func): for i in range(2): print('i eat to: %s--%s' % (func, ctime())) sleep(1) def play_func(func): for i in range(2): print('i play to: %s--%s' % (func, ctime())) sleep(5) threads = [] #创建线程t1,t2使用threading.Thread()方法, # 在这个方法中调用eat、play_func函数,target=函数,args方法对函数进行传参。 t1 = threading.Thread(target=eat, args=(u'小龙虾',)) threads.append(t1) t2 = threading.Thread(target=play_func, args=(u'吃鸡',)) threads.append(t2) if __name__ == '__main__': for i in threads: i.setDaemon(True) #守护线程, i.start() i.join() #用于等待线程终止,必须等到子线程运行结束父线程才会运行 print('over %s:' %ctime())