学习笔记(23):Python网络编程并发编程-开启线程的两种方式
生活随笔
收集整理的這篇文章主要介紹了
学习笔记(23):Python网络编程并发编程-开启线程的两种方式
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
立即學(xué)習(xí):https://edu.csdn.net/course/play/24458/296437?utm_source=blogtoedu
開(kāi)啟線程的兩種方法:threading.Thread
?
1.方法一:
from threading import Thread import time#方式一:直接使用thrending下的Thread類 def mythread(name):print('我是%s'%name)time.sleep(0.5)if __name__ == '__main__':t1 = Thread(target=mythread,args=('子進(jìn)程1',))t1.start()print('主進(jìn)程運(yùn)行結(jié)束')#這里有一個(gè)進(jìn)程兩個(gè)線程,主進(jìn)程、主線程、子線程上面是子線程的創(chuàng)建,下面是子進(jìn)程的創(chuàng)建,注意區(qū)分
#方式一:使用python內(nèi)置模塊multiprocessing下的process類 from multiprocessing import Process import time#定義進(jìn)程函數(shù) def task(name):print('%s is running!'%name)time.sleep(3)print('%s is done!'%name)if __name__ == '__main__':#調(diào)用process類,并且實(shí)例化# p = Process(target=task,kwargs={'name','子進(jìn)程1'})p = Process(target=task,args=('子進(jìn)程1',))p.start()print('主')2.方法二:
#方式二:創(chuàng)建繼承于Thread類的自定義類 from threading import Thread import timeclass mythread(Thread):def __init__(self,name):#注意:下面兩行的代碼的順序不能換,否則會(huì)出現(xiàn)錯(cuò)誤assert self._initialized, "Thread.__init__() not called"AssertionError: Thread.__init__()not calledsuper().__init__()self.name = name#創(chuàng)建運(yùn)行函數(shù)def run(self):print('我是%s'%self.name)time.sleep(1)if __name__ == '__main__':t = mythread('子進(jìn)程1')t.start()print('主進(jìn)程')#含有一個(gè)主進(jìn)程,一個(gè)主線程和一個(gè)子線程?
總結(jié)
以上是生活随笔為你收集整理的学习笔记(23):Python网络编程并发编程-开启线程的两种方式的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 3D打印自动支撑算法
- 下一篇: 学习笔记(24):Python网络编程并