Java初識線程基本知識

      網友投稿 820 2025-03-31

      線程是操作系統能夠進行運算的最小單位,被包含在進程中,是進程的實際運算單位。可以使用多線程提高運算速度。

      進程由操作系統分配的內存空間,包含一個或多個線程。

      一個線程不能獨立的存在,它必須是進程的一部分。一個進程一直運行,直到所有的非守護線程都結束運行后才能結束。

      線程是進程中的一部分,進程包含多個線程在運行。

      一個程序至少有一個進程,一個進程至少有一個線程。

      總結:

      1) 一個線程只能屬于一個進程,而一個進程可以有多個線程,但至少有一個線程。

      2)資源分配給進程,同一進程的所有線程共享該進程的所有資源(內存、變量、常量等)

      3)真正在機器上運行的是線程。

      4)不同進程的線程間要利用消息通信的辦法實現同步

      線程安全就是多線程訪問時,采用了加鎖機制,當一個線程訪問該類的某個數據時,進行保護,其他線程不能進行訪問直到該線程讀取完,其他線程才可使用。不會出現數據不一致或者數據污染。

      線程不安全就是不提供數據訪問保護,有可能出現多個線程先后更改數據造成所得到的數據是臟數據

      Java初識線程基本知識

      ArrayList、LinkedList是非線程安全的,Vector是線程安全的;HashMap是非線程安全的,HashTable是線程安全的;StringBuilder是非線程安全的,StringBuffer是線程安全的。

      示例

      public static void main(String[] args){ // 進行10次測試 for(int i = 0; i < 10; i++){ test(); } } public static void test(){ // 用來測試的List List list = new ArrayList(); // 線程數量 int threadCount = 100; // 用來讓主線程等待threadCount個子線程執行完畢 CountDownLatch countDownLatch = new CountDownLatch(threadCount); // 啟動threadCount個子線程 for(int i = 0; i < threadCount; i++){ Thread thread = new Thread(new MyThread(list, countDownLatch)); thread.start(); } try { // 主線程等待所有子線程執行完成,再向下執行 countDownLatch.await(); }catch (InterruptedException e){ e.printStackTrace(); } // List的size System.out.println(list.size()); } } class MyThread implements Runnable{ private List list; private CountDownLatch countDownLatch;//CountDownLatch是一個同步工具類,它允許一個或多個線程一直等待,直到其他線程的操作執行完后再執行。 public MyThread(List list, CountDownLatch countDownLatch){ this.list = list; this.countDownLatch = countDownLatch; } public void run(){ // 每個線程向List中添加100個元素 for(int i = 0; i < 100; i++){ list.add(new Object()); } // 完成一個子線程 countDownLatch.countDown(); }

      新建狀態 new()

      就緒狀態 star()

      運行狀態 run()

      阻塞狀態 sleep()睡眠 suspend()掛起

      死亡狀態

      初始默認都是5

      具有較高優先級的線程對程序更重要,并且應該在低優先級的線程之前分配處理器資源。但是,線程優先級不能保證線程執行的順序

      結語

      好了,以上就是Java初識線程基本知識介紹,感謝您的閱讀,希望您喜歡,如對您有幫助,歡迎。如有不足之處,歡迎評論指正。下次見。

      Java 任務調度 多線程

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:WPS表格中常用函數使用教程(WPS表格中的函數)
      下一篇:超鏈接圖形怎么弄(超鏈接圖形怎么設置)
      相關文章
      亚洲欧洲精品一区二区三区| 亚洲AV日韩AV永久无码免下载| 亚洲2022国产成人精品无码区 | 99人中文字幕亚洲区| 精品国产_亚洲人成在线高清| 亚洲精品无码专区在线| 亚洲精品亚洲人成在线麻豆| 国产国拍亚洲精品mv在线观看 | 亚洲无圣光一区二区| 亚洲精品国产va在线观看蜜芽| 亚洲人精品亚洲人成在线| 亚洲狠狠成人综合网| 亚洲自偷自偷偷色无码中文| 国产成人亚洲精品91专区高清| 亚洲mv国产精品mv日本mv| 久热综合在线亚洲精品| 亚洲国产av无码精品| 亚洲最大中文字幕| 亚洲综合无码精品一区二区三区| 精品亚洲成a人在线观看| 中文日韩亚洲欧美制服| 婷婷亚洲综合五月天小说| 亚洲日韩中文在线精品第一| 亚洲av无码无线在线观看| 亚洲日韩国产欧美一区二区三区| 亚洲欧洲在线播放| 亚洲精品人成在线观看| 国产亚洲精品高清在线| 亚洲色一色噜一噜噜噜| 亚洲av麻豆aⅴ无码电影| 国产成人亚洲综合a∨| 精品国产亚洲一区二区三区在线观看 | 亚洲中文字幕精品久久| 亚洲伊人色一综合网| 亚洲一级毛片免观看| 77777亚洲午夜久久多喷| 亚洲AV无码一区二区三区人| 激情综合亚洲色婷婷五月| 亚洲ts人妖网站| 91丁香亚洲综合社区| 亚洲精品乱码久久久久久V|