from time import ctime,sleep
import threading
'''
def music(func):
for i in range(2):
print("I was listening to %s.%s"%(func,ctime()))
sleep(1)
def movie(func):
for i in range(2):
print("I was watching %s.%s"%(func,ctime()))
sleep(5)
if __name__=='__main__':
#以u或U开头的字符串表示unicode字符串
music(u'世间美好与你环环相扣')
movie(u'妖魔传')
'''
def music(func):
for i in range(2):
print("I was listening to %s.%s"%(func,ctime()))
sleep(1)
print("end1 at %s"%ctime())
def movie(func):
for i in range(2):
print("I was watching %s.%s"%(func,ctime()))
sleep(5)
print("end2 at %s"%ctime())
threads=[]
t1=threading.Thread(target=music,args=("七里香",))
threads.append(t1)
t2=threading.Thread(target=movie,args=("平凡世界",))
threads.append(t2)
if __name__=='__main__':
# t1.setDaemon(True)
t2.setDaemon(True)#守护线程,一旦主线程和t1线程结束,t2子线程也不再进行
for t in threads:
# t.setDaemon(True)
t.start()
#阻塞t1线程,t1线程运行完才会执行下行print代码
# t1.join()
print ("all end at %s"%ctime())
关于线程池,守护线程,阻塞线程的理解
最新推荐文章于 2023-12-15 15:18:45 发布