Java程序設(shè)計(jì)基礎(chǔ)教程(慕課版)(第2版) 教案 第10單元 并發(fā)編程_第1頁(yè)
Java程序設(shè)計(jì)基礎(chǔ)教程(慕課版)(第2版) 教案 第10單元 并發(fā)編程_第2頁(yè)
Java程序設(shè)計(jì)基礎(chǔ)教程(慕課版)(第2版) 教案 第10單元 并發(fā)編程_第3頁(yè)
Java程序設(shè)計(jì)基礎(chǔ)教程(慕課版)(第2版) 教案 第10單元 并發(fā)編程_第4頁(yè)
全文預(yù)覽已結(jié)束

下載本文檔

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

文檔簡(jiǎn)介

PAGE1PAGE第10單元并發(fā)編程課程名稱Java程序設(shè)計(jì)基礎(chǔ)教程(慕課版)項(xiàng)目名稱并發(fā)編程任務(wù)名稱并發(fā)編程課時(shí)6項(xiàng)目性質(zhì)□演示性□驗(yàn)證性□設(shè)計(jì)性√綜合性授課班級(jí)授課日期授課地點(diǎn)教學(xué)目標(biāo)能力目標(biāo):1.具備創(chuàng)建線程的能力2.具備調(diào)度線程的能力3.具備使用多線程解決問題的能力知識(shí)目標(biāo):了解進(jìn)程和線程的區(qū)別和聯(lián)系掌握線程的創(chuàng)建和調(diào)度方法掌握多線程的應(yīng)用素質(zhì)目標(biāo):1.培養(yǎng)學(xué)生知識(shí)掌握和技能運(yùn)用能力2.培養(yǎng)學(xué)生團(tuán)結(jié)合作、互幫互助的能力;教學(xué)內(nèi)容1.任務(wù)描述2.任務(wù)展示與實(shí)現(xiàn)(1)需要處理的是文件夾,(2)如果當(dāng)前文件夾下有子文件夾,則將子文件夾當(dāng)作另一個(gè)任務(wù),加入到處理任務(wù)鏈表中來(3)匯總所有任務(wù)的計(jì)算結(jié)果,即指定文件夾的總大小3.教師講解本任務(wù)涉及的知識(shí)點(diǎn)4.任務(wù)小結(jié)教學(xué)重點(diǎn)線程的創(chuàng)建線程的調(diào)度教學(xué)難點(diǎn)繼承Thread類同步與互斥教學(xué)準(zhǔn)備1.裝有JDK、Eclipse的電腦2.教學(xué)課件PPT3.教材:《Java程序設(shè)計(jì)基礎(chǔ)教程(慕課版)》董勇傅雷揚(yáng)人民郵電出版社作業(yè)設(shè)計(jì)實(shí)現(xiàn)MapReduce的并發(fā)

教學(xué)過程教學(xué)內(nèi)容與過程(教學(xué)內(nèi)容、教學(xué)方法、組織形式、教學(xué)手段)做好課前“5分鐘”教學(xué)管理(多媒體、實(shí)訓(xùn)室),做好上課前的各項(xiàng)準(zhǔn)備工作(打開電腦、打開課件、打開軟件、打開U盤中的素材位置、打開授課計(jì)劃、教案等),吸引學(xué)生注意力?!菊n前說明】本章講解了進(jìn)程和線程的區(qū)別和聯(lián)系、線程的創(chuàng)建方式、線程的調(diào)度問題,梳理了線程的5種狀態(tài):新建、就緒、阻塞以及運(yùn)行狀態(tài)和死亡狀態(tài),涉及線程的休眠、同步和死鎖等問題也都做了講解;并講解了線程池技術(shù)和帶有返回值的Callable對(duì)象和接收返回值的Future對(duì)象,對(duì)Future對(duì)象的isDone()方法和get()方法做了簡(jiǎn)單介紹?!灸康摹渴箤W(xué)生從了解本單元的學(xué)習(xí)目標(biāo)、學(xué)習(xí)重點(diǎn)、考評(píng)方式等方面明確學(xué)習(xí)本單元知識(shí)的要求和目標(biāo)。講解線程的創(chuàng)建方法線程的創(chuàng)建方式,一種是繼承Thread類,另一種是實(shí)現(xiàn)Runnable接口,繼承Thread類后可以直接調(diào)用start()方法啟動(dòng)線程,而實(shí)現(xiàn)Runnable接口則需要使用Thread類進(jìn)行包裝后方可調(diào)用start()方法。講解線程的調(diào)度方法梳理了線程的5種狀態(tài):新建、就緒、阻塞以及運(yùn)行狀態(tài)和死亡狀態(tài),涉及線程的休眠、同步和死鎖等問題也都做了講解。講解多線程的使用Java中的線程池技術(shù)是運(yùn)行場(chǎng)景最多的并發(fā)框架,幾乎所有需要異步或者并發(fā)執(zhí)行任務(wù)的程序都可以使用線程池技術(shù)。合理使用線程池技術(shù)可以降低線程創(chuàng)建和銷毀造成的消耗,提高相應(yīng)速度和提高線程的可管理性。Callable用法和Runnable類似,只不過調(diào)用的是call()方法,而不是run()方法,該方法有一個(gè)泛型返回值類型,可根據(jù)需要指定。案例:Thread實(shí)現(xiàn)多線程publicclassThreadDemo{publicstaticvoidmain(String[]args){for(inti=0;i<10;i++){//創(chuàng)建10個(gè)MyThread類的對(duì)象,并運(yùn)行MyThreadthread=newMyThread();thread.start();}}}//繼承了Thread類的類classMyThreadextendsThread{@Overridepublicvoidrun(){//重寫父類的run方法for(inti=0;i<3;i++){//循環(huán)打印輸出信息System.out.println(Thread.currentThread().getName()+"-正在執(zhí)行!");}}}計(jì)劃任務(wù)線程池publicclassSchedulePoolDemo{publicstaticvoidmain(String[]args){ScheduledExecutorServicees=Executors.newScheduledThreadPool(1);//創(chuàng)建一個(gè)計(jì)劃任務(wù)線程池,參數(shù)表示線程池的個(gè)數(shù)es.scheduleAtFixedRate(newRunnable(){@Overridepublicvoidrun(){System.out.println("每1秒執(zhí)行一次:"+System.currentTimeMillis());}},2,1,TimeUnit.SECONDS);}}并發(fā)執(zhí)行MapReduce框架中的Map任務(wù)和Reduce任務(wù),Reduce任務(wù)必須等所有的Map任務(wù)都執(zhí)行結(jié)束之后才開始,可以使用CountDownLatch實(shí)現(xiàn)線程間的同步。通過學(xué)習(xí),學(xué)生能夠掌握進(jìn)程和線程的區(qū)別和聯(lián)系、線程的創(chuàng)建方式、線程的調(diào)度問題以及多線程的相關(guān)用法。本節(jié)課主要運(yùn)用案例教學(xué)法,通過對(duì)進(jìn)程和線程的理解,掌握進(jìn)程和線程的基本特點(diǎn),深入探討進(jìn)程和

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論