版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、JavaJava多線程編程詳解多線程編程詳解一:理解多線程多線程是這樣一種機(jī)制,它允許在程序中并發(fā)執(zhí)行多個(gè)指令流,每個(gè)指令流都稱為一個(gè)線程,彼此間互相獨(dú)立。線程又稱為輕量級(jí)進(jìn)程,它和進(jìn)程一樣擁有獨(dú)立的執(zhí)行控制,由操作系統(tǒng)負(fù)責(zé)調(diào)度,區(qū)別在于線程沒(méi)有獨(dú)立的存儲(chǔ)空間,而是和所屬進(jìn)程中的其它線程共享一個(gè)存儲(chǔ)空間,這使得線程間的通信遠(yuǎn)較進(jìn)程簡(jiǎn)單。多個(gè)線程的執(zhí)行是并發(fā)的,也就是在邏輯上“同時(shí)”,而不管是否是物理上的“同時(shí)”。如果系統(tǒng)只有一個(gè)CPU,
2、那么真正的“同時(shí)”是不可能的,但是由于CPU的速度非常快,用戶感覺(jué)不到其中的區(qū)別,因此我們也不用關(guān)心它,只需要設(shè)想各個(gè)線程是同時(shí)執(zhí)行即可。多線程和傳統(tǒng)的單線程在程序設(shè)計(jì)上最大的區(qū)別在于,由于各個(gè)線程的控制流彼此獨(dú)立,使得各個(gè)線程之間的代碼是亂序執(zhí)行的,由此帶來(lái)的線程調(diào)度,同步等問(wèn)題,將在以后探討。二:在Java中實(shí)現(xiàn)多線程我們不妨設(shè)想,為了創(chuàng)建一個(gè)新的線程,我們需要做些什么?很顯然,我們必須指明這個(gè)線程所要執(zhí)行的代碼,而這就是在Java
3、中實(shí)現(xiàn)多線程我們所需要做的一切!真是神奇!Java是如何做到這一點(diǎn)的?通過(guò)類!作為一個(gè)完全面向?qū)ο蟮恼Z(yǔ)言,Java提供了類java.lang.Thread來(lái)方便多線程編程,這個(gè)類提供了大量的方法來(lái)方便我們控制自己的各個(gè)線程,我們以后的討論都將圍繞這個(gè)類進(jìn)行。那么如何提供給Java我們要線程執(zhí)行的代碼呢?讓我們來(lái)看一看Thread類。Thread類最重要的方法是run(),它為T(mén)hread類的方法start()所調(diào)用,提供我們的線程所要執(zhí)
4、行的代碼。為了指定我們自己的代碼,只需要覆蓋它!方法一:繼承Thread類,覆蓋方法run()我們?cè)趧?chuàng)建的Thread類的子類中重寫(xiě)run()加入線程所要執(zhí)行的代碼即可。下面是一個(gè)例子:publicclassMyThreadextendsThreadintcount=1numberpublicMyThread(intnum)Runnable接口只有一個(gè)方法run(),我們聲明自己的類實(shí)現(xiàn)Runnable接口并提供這一方法,將我們的線程代
5、碼寫(xiě)入其中,就完成了這一部分的任務(wù)。但是Runnable接口并沒(méi)有任何對(duì)線程的支持,我們還必須創(chuàng)建Thread類的實(shí)例,這一點(diǎn)通過(guò)Thread類的構(gòu)造函數(shù)publicThread(Runnabletarget)來(lái)實(shí)現(xiàn)。下面是一個(gè)例子:publicclassMyThreadimplementsRunnableintcount=1numberpublicMyThread(intnum)number=numSystem.out.println
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- linux多線程編程
- 不錯(cuò)的delphi多線程編程教程
- java多線程,集合框架(附簡(jiǎn)單代碼)
- java多線程與線程安全實(shí)踐-基于http協(xié)議的斷點(diǎn)續(xù)傳
- 基于java的多線程下載工具的實(shí)現(xiàn)
- AOP在JAVA多線程監(jiān)控中的應(yīng)用.pdf
- [學(xué)習(xí)]網(wǎng)絡(luò)編程5-多線程服務(wù)器
- Java多線程調(diào)試工具的研究與開(kāi)發(fā).pdf
- 基于JAVA的多線程下載工具的實(shí)現(xiàn).doc
- linux操作系統(tǒng)下的多線程編程詳細(xì)解析
- java基礎(chǔ)、java集合、多線程、jdbc、http、jsp、servlet、struts面試題匯總(附答案)
- 基于Java多線程的有限元并行計(jì)算的研究.pdf
- 基于多核多線程的混合并行編程技術(shù)研究.pdf
- 多線程的內(nèi)存調(diào)度.pdf
- 基于MES的JAVA多線程處理大數(shù)據(jù)模塊的設(shè)計(jì)與實(shí)現(xiàn).pdf
- SVG、Java多線程技術(shù)在Web GIS系統(tǒng)中的應(yīng)用研究.pdf
- 第8章java的多線程-唐大仕出版物、相關(guān)資料下載
- 24李后浪實(shí)驗(yàn)五 多線程
- 基于Java字節(jié)碼的多線程數(shù)據(jù)競(jìng)爭(zhēng)檢測(cè)方法研究及工具實(shí)現(xiàn).pdf
- 驗(yàn)證帶有線程動(dòng)態(tài)創(chuàng)建和退出多線程程序.pdf
評(píng)論
0/150
提交評(píng)論