關於java中線程相關問題的概述

  1. 有序嚴謹的指令集稱為程序

  2. 程序同時的多運行稱為線程

  3. 程序中不同的執行路徑稱為線程

多線程編程簡單,效率高,易於資源共享

線程同步是指在執行一段程序過程中,無論成功還是失敗,其他線程都會等待著段程序執行完畢後才會轉入執行其他線程,這樣可以保證程序的完整性和安全性

創建線程的第一種方式:繼承Thread類,重寫Run方法

關於java中線程相關問題的概述

由上所示結果可知,並不是打印完"主線程"後才執行”子線程“ 而是兩個線程交替執行的

創建線程的第二種方式:實現Runnable接口,重寫接口中的Runnable方法

關於java中線程相關問題的概述

關於java中線程相關問題的概述

關於java中線程相關問題的概述

關於線程的優先級設置示例如下:(注意:線程級別高的,並不是絕對先執行它,而是執行概率大而已。好比把我買彩票中100萬的概率提高到90%,不中獎的概率降低到10%,並不是說我絕對中獎)

關於java中線程相關問題的概述

關於線程睡眠示例如下:創建線程睡眠時間代碼必須進行異常處理(只能捕捉try catch,不能拋異常 throws),在此例中執行到此線程時,先等待睡眠時間過後再執行該程序段,在多線程中,則是睡眠時間過後,此程序段有機會參與CPU執行,並不一定執行該程序段。簡單來說,多線程中指定睡眠時間的線程在該時間內不參與打團,時間結束後可能會去參團,也有可能繼續掛機。


關於java中線程相關問題的概述

則控制檯顯示的結果應該是兩秒鐘打印一次,循環打印到結束為止

注:關於異常的處理,我再多說兩句,throws拋異常時,如果主調處函數是實現或重寫該方法時,如果父類沒有拋異常的方法,則子類也不能拋異常只能捕捉異常。由上可知我們是實現runnable接口,該接口並沒有拋異常的方法,所以我們對線程睡眠進行異常處理的時候只能捕捉異常,而不能像上拋。

關於線程的讓步與阻塞

關於java中線程相關問題的概述

關於java中線程相關問題的概述


分享到:


相關文章: