Python多线程threading创建及使用方法解析
一、线程创建方法
1.普通创建
importthreading defrun(name): foriinrange(3): print(name) if__name__=='__main__': t1=threading.Thread(target=run,args=("t1",)) t2=threading.Thread(target=run,args=("t2",)) t1.start() t2.start() -------------------------------------------- t1 t2 t2 t1 t2 t1
2.自定义线程类
importthreading classMyThread(threading.Thread): def__init__(self,name): super(MyThread,self).__init__() self.name=name defrun(self): foriinrange(3): print(self.name) if__name__=="__main__": t1=MyThread("t1") t2=MyThread("t2") t1.start() t2.start()
二、线程的使用
1.守护线程
子线程会随着主线程的结束而结束
t=threading.Thread(target=run,args=("t1",))
t.setDaemon(True)#把子进程设置为守护线程,必须在start()之前设置
t.start()
2.主线程等待子线程结束
t=threading.Thread(target=run,args=("t1",))
t.setDaemon(True)
t.join()#设置主线程等待子线程结束
t.start()
3.互斥锁
fromthreadingimportThread,Lock n=10 defrun(): globaln locker.acquire() n-=1 locker.release() if__name__=='__main__': locker=Lock() t1=Thread(target=run) t2=Thread(target=run) t1.start() t2.start()
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。