java二期_享学二期java架构师
前言-薇:itstudy01
在我們工作和學(xué)習的過程中,Java線程我們或多或少的都會用到,但是在使用的過程上并不是很順利,會遇到各種各樣的坑,這里我通過講解Thread類中的核心方法,以求重點掌握以下關(guān)鍵技術(shù)點:
線程的啟動
如何使線程暫停
如何使線程停止
線程的優(yōu)先級
線程安全相關(guān)的問題
什么是進程和線程?
進程 - 進程是具有一定獨立功能的程序(例如QQ.exe),關(guān)于某個數(shù)據(jù)集合上的一次運行活動,進程是系統(tǒng)進行資源分配和調(diào)度的一個獨立單位。
線程 - 線程是進程的一個實體,是CPU調(diào)度和分派的基本單位,它是比進程更小的能獨立運行的基本單位;線程自己基本上不擁有系統(tǒng)資源,只擁有一點在運行中必不可少的資源(如程序計數(shù)器,一組寄存器和棧),但是它可與同屬一個進程的其他的線程共享進程所擁有的全部資源。
一個線程可以創(chuàng)建和撤銷另一個線程;同一個進程中的多個線程之間可以并發(fā)執(zhí)行。
相對進程而言,線程是一個更加接近于執(zhí)行體的概念,它可以與同進程中的其他線程共享數(shù)據(jù),但擁有自己的棧空間,擁有獨立的執(zhí)行序列。
在串行程序基礎(chǔ)上引入線程和進程是為了提高程序的并發(fā)度,從而提高程序運行效率和響應(yīng)時間。
多線程的優(yōu)點
其實多線程從某方面可以等價于多任務(wù),當你有多個任務(wù)要處理時,多個任務(wù)一起做所消耗的時間肯定比任務(wù)串行起來做,所消耗的時間短;下圖可以很好的說明:
單任務(wù)運行環(huán)境與多任務(wù)運行環(huán)境比較
在我們現(xiàn)在的系統(tǒng)中,CPU的運行速度是很快的,其中很大的時間消耗是在等硬盤、IO輸入、網(wǎng)絡(luò)等資源;當多任務(wù)時,CPU完全可以在多個任務(wù)之間來回切換。使用的花費的時間遠遠少于所有任務(wù)需要消耗的少。
使用多線程
在Java的JDK包中,已經(jīng)自帶了對多線程技術(shù)的支持,可以非常方便地進行多線程的編程。實現(xiàn)多線程編程的方式主要有兩種:
繼承Thread類
實現(xiàn)Runnable接口
總結(jié)
以上是生活随笔為你收集整理的java二期_享学二期java架构师的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 买车可以开发票吗
- 下一篇: LC和RC滤波电路分析