原创 java多線程系列基礎篇06-----線程讓步

1 yield()介紹 yield()的作用是讓步,他能讓當前線程由"運行狀態"到"就緒狀態",從而讓其他具有相同相同優先級的等待線程獲取執行權,但是,並不能保證在當前線程調用yield()之後,其他具有相同優先級的線程就一定能獲得執行權

原创 java io ----- 02 ByteArrayInputStream

ByteArrayInputStream介紹 ByteArrayInputStream是字節數組輸入流,繼承於InputStream,它包含一個內部緩衝區,該緩衝區包含從流中讀取的字節,它的內部緩衝區就是一個字節數組,而ByteArray

原创 劍指offer--算法題--26--兩個鏈表的第一個公共結點

題目描述: 輸入兩個鏈表,找出它們的第一個公共結點。   輸入: 輸入可能包含多個測試樣例。 對於每個測試案例,輸入的第一行爲兩個整數m和n(1<=m,n<=1000):代表將要輸入的兩個鏈表的元素的個數。 接下來的兩行,第一行爲第一個鏈

原创 java多線程系列基礎篇02-----實現多線程的兩種方式

常用的實現多線程的兩種方式 Thread 和 Runnable 爲什麼是常用的那,因爲還可以通過juc包裏面的線程池來實現多線程, Thread和Runnable簡介 Runnable 是一個接口 該接口中只包含了一個Run()方法 它的

原创 java多線程系列基礎篇08-----join()

1 join介紹 join()定義在Thread.java中 join()的作用:讓"主線程"等待"子線程"結束之後才能繼續執行,下面看例子 // 主線程 public class Father extends Thread {

原创 java多線程系列基礎篇09-----interrupt()和線程終止方式

1 interrup關於interrupt javajdk文檔描述如下 interrupt()的作用是中斷本線程 本線程中斷自己是被允許的;其他線程調用本線程的interrupt()方法時,會通過checkAccess()檢察權限,這有可

原创 java多線程系列基礎篇10-----線程優先級和守護線程

1 線程優先級的介紹 java中的線程優先級的範圍是1-10,默認的優先級是5。"高優先級線程"會優先於"低優先級線程"執行 java中有兩種線程:用戶線程和守護線程。可以通過isDaemon()方法來區別他們:如果返回false,則說明

原创 java io ----- 02 ByteArrayOutputStream

ByteArrayInputStream 是字節數組輸出流 ByteArrayOutputStream 中的數據被寫入一個 byte 數組。緩衝區會隨着數據的不斷寫入而自動增長。可使用 toByteArray() 和 toString()

原创 java多線程系列基礎篇11-----線程優先級和守護線程

1 生產/消費者模型 生產/消費者問題是個非常典型的多線程問題,涉及到的對象包括"生產者","消費者","倉庫"和"產品"他們之間的關係如下 01 生產者僅僅在倉儲未滿時候生產,倉滿則停止生產。 02 消費者僅僅在倉儲有產品的時候才能消費

原创 劍指offer--算法題--27--二叉樹中和爲某一值的路徑

題目描述: 輸入一顆二叉樹和一個整數,打印出二叉樹中結點值的和爲輸入整數的所有路徑。路徑定義爲從樹的根結點開始往下一直到葉結點所經過的結點形成一條路徑。 輸入: 每個測試案例包括n+1行: 第一行爲2個整數n,k(1<=n<=10000)

原创 java多線程系列04-----synchronized關鍵字

1synchronized原理 在java中每一個對象有且僅有一個同步鎖,這也意味着同步鎖是依賴對象而存在。 當我們在調用對象的synchronized方法時,就獲取了該對象的同步鎖,例如synchronized(obj)就獲取了"obj

原创 java多線程系列基礎篇05-----線程等待與喚醒

wait(),notify(),notifyAll()等方法介紹 在Object.java中,定義了wait(),notify(),和notifyAll()等接口。wait()的作用是讓當前線程進入等待狀態,同時,wait()也會讓當前線

原创 java多線程系列基礎篇07-----線程休眠

1 sleep()介紹 sleep()定義在Thread.java中 sleep()的作用是讓當前線程休眠,即當前線程會從"運行狀態"進入到"休眠(阻塞)狀態。sleep()會指定休眠時間,線程休眠的時間會大於/等於該休眠時間;在線程重新

原创 java多線程系列基礎篇01-----基本概念

JUC包指的是 java.utile.concurrent包 在java1.5添加到java中的 線程共包括以下5種狀態 1 新建狀態(New):線程對象被創建後,就進入了新建狀態,例如 Thread thread = new Threa

原创 併發編程------volatire和cas

  點贊 收藏 分享 文章舉報 lsm18829224913 發佈了84 篇原創文章 · 獲贊 11 · 訪問量 1萬+ 私信