2023學年完整公開課版多線程threadingjoin功能_第1頁
2023學年完整公開課版多線程threadingjoin功能_第2頁
2023學年完整公開課版多線程threadingjoin功能_第3頁
2023學年完整公開課版多線程threadingjoin功能_第4頁
2023學年完整公開課版多線程threadingjoin功能_第5頁
已閱讀5頁,還剩15頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

Threading

join功能目錄任務的引入重難點介紹教師演示評價與小結(jié)1<示例>教學要求Step1教師準備教學文件準備

.教學用示例準備學生準備復習多線程問題預習本次課程內(nèi)容教師演示掌握start()方法:掌握join()方法的使用小組展示小組內(nèi)協(xié)作理解多線程的編程思想小結(jié)評價學生說明程序各組相互指正優(yōu)缺點Step2Step3Step4Step52一、任務的引入上次課我們講到了多線程的應用特別是threading模塊,本次課我們來學習join()方法的使用。首先我們來看演示,上次課我們建立了一個線程,線程來完成某個任務,這個任務是打印一些文字,接下來我們那這個例子來改寫程序:3二、教師演示任務1:改寫上次課程序代碼importthreadingimporttimedefthread_job():print('T1start\n')foriinrange(10):time.sleep(0.4)print("T1finish\n")defmain():added_thread=threading.Thread(target=thread_job(),name='T1')added_thread.start()print("alldone")if__name__=='__main__':main()4二、教師演示任務1運行結(jié)果5二、教師演示任務1程序說明T1strat執(zhí)行完就直接跳下來執(zhí)行alldone,然后T1finish。本質(zhì)上說這些多線程是同時進行的線程任務。如果我們需要等待所有的進程都執(zhí)行完了之后才執(zhí)行alldone以后的語句,此時我們就會用到join()方法。4二、教師演示任務1結(jié)果展示9二、教師演示任務2:引入join改進程序代碼importthreadingimporttimedefthread_job():print('T1start\n')foriinrange(10):time.sleep(0.4)print("T1finish\n")defmain():added_thread=threading.Thread(target=thread_job(),name='T1')added_thread.start()added_thread.join()print("alldone")if__name__=='__main__':main()4二、教師演示任務2結(jié)果展示9二、教師演示任務3:繼續(xù)添加進程T2代碼importthreadingimporttimedefthread_job():print('T1start\n')foriinrange(10):time.sleep(0.1)print('T1finish\n')defT2_job():print('T2start\n')print('T2finish\n')defmain():added_thread=threading.Thread(target=thread_job(),name='T1')thread2=threading.Thread(target=T2_job(),name='T2')added_thread.start()thread2.start()thread2.join()added_thread.join()print('alldone\n')if__name__=='__main__':main()4二、教師演示任務3結(jié)果展示9二、教師演示任務4案例2代碼:importthreadingimporttimeclassMyThread(threading.Thread):def__init__(self,id):threading.Thread.__init__(self)defrun(self):time.sleep(5)print("Thisis"+self.getName())

if__name__=="__main__":t1=MyThread(999)t1.setDaemon(True)t1.start()print("Iamthefatherthread.")4二、教師演示任務4結(jié)果展示11二、教師演示任務5:案例3代碼importthreadingimporttimeclassMyThread(threading.Thread):def__init__(self,id):threading.Thread.__init__(self)self.id=iddefrun(self):x=0time.sleep(10)print(self.id)

if__name__=="__main__":t1=MyThread(999)t1.start()#t1.join()foriinrange(5):print(i)4二、教師演示任務5結(jié)果展示9三、重難點介紹Thread類提供以下方法17方法說明start()啟動線程活動join([time])等待至線程中止join()方法被調(diào)用中止isAlive()返回線程是否活動的getName()返回線程名稱四、小結(jié)與評價18小結(jié)掌握threadingjoin()的使用;能夠使用等待功能解

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論