日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

线程销毁_多线程(2)-Java高级知识(9)

發布時間:2025/3/12 java 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 线程销毁_多线程(2)-Java高级知识(9) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

前面有一篇文章寫的是多線程的基本知識,以及線程實現的兩種方式,一種是繼承Thread類,另一種實現Runnable 接口,今天沿著前面的多線程,繼續分享多線程的第三種創建方法,以及第三種創建方法的優勢,前兩種方法的弊端。并且介紹一種新的線程同步機制:lock鎖的機制。

1. 實現線程的第三種方式:

實現 Callable 接口,重寫 call 方法.

圖1. 實現Callable接口實現多線程

圖2. 調用以及啟動多線程

2. 繼承Thread類,實現Runnable 接口實現多線程的弊端:

(1) 沒有返回值

(2) 不支持泛型

(3) 異常必須處理

3. Callable 強大在哪里呢?

(1) Future 接 口 位 于 java.util.concurrent 包 中 ,可 以 對 具 體Runnable、Callable 任務的執行結果進行取消(cancel 方法,嘗試取消執行此任務)、查詢是否完成(isDone 方法)、獲取結果(get 方法,等待完成,然后檢索其結果)等。

(2) FutrueTask 是 Futrue 接口的唯一的實現類.

(3) FutureTask 同時實現了 Runnable, Future 接口。它既可以作為 Runnable 被線程執行,又可以作為 Future 得到Callable 的返回值.

圖3. Future接口

4. 線程同步的第三種方法:Lock鎖。

Lock 鎖:對需要上鎖的地方上鎖

1) JDK1.5 后新增的功能

2) 與 Synchronized 相比,Lock 可提供多種鎖方案,更靈活

3) Java.util.concurrent.locks 中的 Lock 是一個接口,它的實現類是一個 Java 類,而不是作為語言的特性(關鍵字)來實現。

注意:如果同步代碼有異常,要將 unLock()放到 finally 中。

4. 1 創建Lock鎖的步驟。

(1) 創建 Lock 對象

(2) 調用 lock()方法上鎖

(3) 調用 unlock()方法解鎖

4.2 Lock 與 synchronized 的區別。

(1) Lock 是 顯 示 鎖 (手 動 開 啟 和 關 閉 鎖 ,別 忘 關 閉鎖),synchronized 是隱式鎖

(2) Lock 只有代碼塊鎖,synchronized 有代碼塊鎖和方法鎖。

(3) 使用 Lock 鎖,JVM 將花費較少的時間來調度線程,性能更好,并且具有更好的擴展性(提供更多的子類)。

(4) Lock 確保當一個線程位于代碼的臨界區時,另一個線程不進入臨界區。如果其他線程試圖進入鎖定的代碼,則它將一直等待(即被阻止),直到該對象被釋放。lock()方法會對 Lock 實例對象進行加鎖,因此所有對該對象調用 lock()方法的線程都會被阻塞,直到該 Lock 對象的 unlock()方法被調用。

5. 線程池。

5.1 什么是線程池?

創建和銷毀對象是非常耗費時間的

創建對象:需要分配內存等資源

銷毀對象 :雖然不需要程序員操心,但是垃圾回收器會在后臺一直跟蹤并銷毀對于經常創建和銷毀、使用量特別大的資源,比如并發情況下的線程,對性能影響很大。

思路 :創建好多個線程,放入線程池中,使用時直接獲取引用,不使用時放回池中。可以避免頻繁創建銷毀、實現重復利用。

5.2 線程池的好處.

(1) 提高響應速度(減少了創建新線程的時間)

(2) 降低資源消耗(重復利用線程池中線程,不需要每次都創建)

(3) 提高線程的可管理性:避免線程無限制創建、從而銷毀系

統資源,降低系統穩定性,甚至內存溢出或者 CPU 耗盡

5.3 線程池的應用場合

(1) 需要大量線程,并且完成任務的時間短。

(2) 對性能要求苛刻。

(3) 接受突發性的大量請求。

6. 任務調度 度 Task_Timer和 ThreadLocal。

6.1 什么是調度?

任務:就是事情

調度:在不同的時間點或者在指定的時間點或者間隔多長時間我去運行這個任務。

類似于生活中的鬧鐘。

6.2 ThreadLocal.

ThreadLocal 直譯為“本地線程”,其實它就是一容器,用于存放線程的局部變量

作用:為解決多線程程序的并發問題。

圖4. ThreadLocal 的 的 API

謝謝大家,共同努力,共同進步。

總結

以上是生活随笔為你收集整理的线程销毁_多线程(2)-Java高级知识(9)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 一区二区国产精品 | 亚洲av无码精品一区二区 | 一区二区三区不卡在线观看 | 粉嫩av一区二区三区四区五区 | hitomi一区二区三区精品 | a天堂亚洲 | 黄色在线视频网站 | 爱情岛论坛av | 精品一区二区三区免费 | 欧美日韩欧美日韩在线观看视频 | sese视频在线观看 | 国产美女精品一区二区三区 | 怡红院成人网 | 日韩在线观看免费av | 国产精品普通话 | 国产一区二区三区免费观看视频 | 国产一二三级 | 国产51自产区| 人妻 日韩 欧美 综合 制服 | 无人在线观看的免费高清视频 | 欧美日韩视频一区二区三区 | 久久午夜夜伦鲁鲁片无码免费 | 极度诱惑香港电影完整 | 在线天堂一区 | 国产精品永久免费视频 | 久久久久亚洲 | 91av福利视频| 黄网免费在线观看 | 欧美1234区 | www夜色| 欧美成人精品一区二区免费看片 | 免费在线视频观看 | 国产不雅视频 | 91在线综合 | 色综合天天综合综合国产 | 亚洲免费在线观看视频 | 人人澡超碰碰97碰碰碰 | 国产一区二区三区四区三区四 | 国产美女精品人人做人人爽 | 青青av在线 | 欧美videossex另类 | 国产91影院 | 91久久久久国产一区二区 | 午夜激情影院 | 中文天堂av | 少妇高潮一区二区三区99欧美 | 999热| 91精品国产高清 | 熟女少妇a性色生活片毛片 亚洲伊人成人网 | 亚洲成人一二三 | 婷婷伊人 | 男女啪啪av| 一边摸一边做爽的视频17国产 | 日韩h视频| 日本少妇激情 | 午夜在线观看影院 | 美女mm131爽爽爽免费动视频 | 亚洲一区二区三区 | 久久a毛片 | 在线看成人av | 国产在线国偷精品免费看 | 亚洲国产精品av | 免费视频福利 | 亚洲人午夜射精精品日韩 | 全部免费毛片在线播放一个 | 欧美日韩亚洲国产一区 | 波多野结衣视频免费 | 人妻在线一区二区三区 | 草久久久 | 国产精品一区二区亚洲 | 欧美三级午夜理伦三级 | 男人的天堂视频 | 欧美视频亚洲视频 | 久久午夜精品人妻一区二区三区 | 91色片 | 男人的天堂97 | 婷婷黄色网 | 亚洲第一成人在线 | 久久九九视频 | 国产成人精品女人久久久 | 免费日本在线 | 日批视频在线 | 日本丰满少妇一区二区三区 | 欧美视频在线播放 | 999色综合 | 一区二区免费在线观看视频 | 懂色av蜜臀av粉嫩av喷吹 | 一级久久久久久久 | 欧美老司机 | 91精品在线免费观看 | 成人免费毛片网 | 一区二区在线免费视频 | 森泽佳奈作品在线观看 | 免费性情网站 | 女女同性女同一区二区三区九色 | 日日摸日日碰夜夜爽无码 | 亚洲欧美日韩动漫 | 国产精品99久久久久久宅男 | 亚洲成人第一 |