Java多线程学习笔记一
一、關(guān)于多線程
Java中的多線程是一個(gè)同時(shí)執(zhí)行多個(gè)線程的進(jìn)程。線程是一個(gè)輕量級(jí)的子進(jìn)程,是最小的處理單元。線程使用共享內(nèi)存區(qū)域,不分配單獨(dú)的內(nèi)存區(qū)域以節(jié)省內(nèi)存。Java多線程多用于游戲、動(dòng)畫方面。
二、Java多線程使用優(yōu)點(diǎn)
(1)它不會(huì)阻塞用戶,因?yàn)榫€程是獨(dú)立的,可以同時(shí)執(zhí)行多個(gè)操作。
(2)可以一起執(zhí)行許多操作,因此能夠節(jié)省很多時(shí)間。
(3)線程是獨(dú)立的,因此如果在單個(gè)線程中發(fā)生異常,不會(huì)影響到其他線程的正常運(yùn)行。
三、Java Thread類
Java提供了Thread類來(lái)實(shí)現(xiàn)線程編程。Thread類提供了在線程上創(chuàng)建和執(zhí)行操作的構(gòu)造函數(shù)和方法,Thread類擴(kuò)展了Object類并實(shí)現(xiàn)了Runnable接口。
幾個(gè)常用的線程方法:
(1)start():它用于開始執(zhí)行線程
(2)run():它用于為線程執(zhí)行操作
(3)setPriority():它設(shè)置改變線程的優(yōu)先級(jí)
(4)stop():它用于停止線程
(5)interrupt():該方法會(huì)中斷線程
(6)getThreadGroup():該方法用來(lái)返回此線程所屬的線程組
四、線程的生命周期
Java中線程的聲明周期由JVM控制,Java線程狀態(tài)如下:
(1)初始:新創(chuàng)建了一個(gè)線程對(duì)象,但還沒有調(diào)用start()方法。
(2)運(yùn)行:Java線程中將“就緒”和“運(yùn)行中”兩種狀態(tài)統(tǒng)稱為“運(yùn)行”狀態(tài)。
線程對(duì)象創(chuàng)建后,其他線程調(diào)用了該對(duì)象的start()方法。該狀態(tài)的線程位于可運(yùn)行線程池中,等待被線程調(diào)度選中,獲取CPU的使用權(quán),此時(shí)處于就緒狀態(tài)。就緒狀態(tài)的線程在獲得CPU時(shí)間片后變?yōu)檫\(yùn)行中狀態(tài)。
(3)阻塞:表示線程阻塞于鎖。
(4)等待:進(jìn)入該狀態(tài)的線程需要等待其他線程做出一些特定動(dòng)作(通知或中斷)。
(5)超時(shí)等待:該狀態(tài)可以在指定的時(shí)間后自行返回。
(6)終止:表示該進(jìn)程已經(jīng)執(zhí)行完畢。
轉(zhuǎn)載于:https://www.cnblogs.com/mqlblog/p/10692745.html
總結(jié)
以上是生活随笔為你收集整理的Java多线程学习笔记一的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 【题解】 P2151 [SDOI2009
- 下一篇: BZOJ 1500 维修数列