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()
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。
