Java多線程初學(xué)者指南系列教程
作者:nokiaguy
本系列文章從Java線程的基本概念講起,介紹了線程的創(chuàng)建,線程的生命周期,線程方法的使用,線程的數(shù)據(jù)傳遞以及線程的同步等內(nèi)容。
本系列來(lái)自NokiaGuy的“真的有外星人嗎”博客,系列名稱(chēng)為《Java多線程初學(xué)者指南》。整個(gè)系列介紹了Java線程的好處,概念和原理,基礎(chǔ)操作,高階操作等內(nèi)容。
51CTO編輯推薦:Java線程從入門(mén)到實(shí)踐
系列目錄:
- 線程簡(jiǎn)介
介紹了什么是Java的線程及多線程的好處。由于Java是純面向?qū)ο笳Z(yǔ)言,因此,Java的線程模型也是面向?qū)ο蟮摹?/LI> - 用Thread類(lèi)創(chuàng)建線程
在Java中創(chuàng)建線程有兩種方法:使用Thread類(lèi)和使用Runnable接口。任何一個(gè)Java程序都必須有一個(gè)主線程。學(xué)習(xí)Java多線程,需要先從用Thread類(lèi)創(chuàng)建線程開(kāi)始。 - 使用Runnable接口創(chuàng)建線程
講解如何使用Runnable接口創(chuàng)建線程。實(shí)現(xiàn)Runnable接口的類(lèi)必須使用Thread類(lèi)的實(shí)例才能創(chuàng)建線程。 - 線程的生命周期
與人有生老病死一樣,線程也同樣要經(jīng)歷開(kāi)始(等待)、運(yùn)行、掛起和停止四種不同的狀態(tài)。這四種狀態(tài)都可以通過(guò)Thread類(lèi)中的方法進(jìn)行控制。 - join方法的使用
join方法的功能就是使異步執(zhí)行的線程變成同步執(zhí)行。 - 慎重使用volatile關(guān)鍵字
volatile關(guān)鍵字用于聲明簡(jiǎn)單類(lèi)型變量,如int、float、boolean等數(shù)據(jù)類(lèi)型。使用它有一定的限制。 - 向線程傳遞數(shù)據(jù)的三種方法
由于線程的運(yùn)行和結(jié)束是不可預(yù)料的,因此,在傳遞和返回?cái)?shù)據(jù)時(shí)就無(wú)法象函數(shù)一樣通過(guò)函數(shù)參數(shù)和return語(yǔ)句來(lái)返回?cái)?shù)據(jù)。 - 從線程返回?cái)?shù)據(jù)的兩種方法
從線程中返回?cái)?shù)據(jù)和向線程傳遞數(shù)據(jù)類(lèi)似。也可以通過(guò)類(lèi)成員以及回調(diào)函數(shù)來(lái)返回?cái)?shù)據(jù)。 - 使用Synchronized關(guān)鍵字同步類(lèi)方法
要達(dá)成Java多線程的run方法同步,需要在void和public之間加上synchronized關(guān)鍵字。 - 使用Synchronized塊同步方法
我們不僅可以通過(guò)synchronized塊來(lái)同步一個(gè)對(duì)象變量,也可以使用synchronized塊來(lái)同步類(lèi)中的靜態(tài)方法和非靜態(tài)方法。 - 使用Synchronized塊同步變量
講解如何使用Synchronized塊同步變量。我們可以通過(guò)synchronized塊來(lái)同步特定的靜態(tài)或非靜態(tài)方法。
希望通過(guò)這個(gè)系列的學(xué)習(xí),能夠幫助讀者掌握J(rèn)ava多線程的概念和一些基本操作。在Java線程的實(shí)際應(yīng)用方面還有很多需要考慮的事項(xiàng),還需要讀者們?cè)趯?shí)踐中逐漸摸索。
責(zé)任編輯:yangsai
來(lái)源:
BlogJava