Java中線程相關的知識

創建子線程的三種方式:

1.自定義線程任務類繼承線程類,以便繼承其功能,重寫其run方法(里面寫自己需要實現的功能),在main方法調用時創建其任務類實例化對象,然后調用對象的start方法(繼承自父類),即成功創建線程

優點:創建方式簡單直觀,缺點是自定義的線程任務類不再能繼承其他父類,無法直接獲取更加強大的功能

2.自定義線程任務類實現runnable接口,重寫其run方法,寫自己的功能代碼,然后在自己的主方法中創建thread線程類對象,將任務類對象交給其再調用線程的start方法即可啟動線程,(也可以直接匿名內部類的方式交給thread對象)

優點:可以繼承其他父類

缺點:較第一種方法較為麻煩

3.自定義線程任務類實現callable接口,重寫其call方法,里面寫自己需要的線程功能代碼,和要返回的數據,再把其對象交給FultureTask封裝成FultureTask對象(包裝成線程任務對象)再交給thread啟動,如何得到線程工作函數的返回結果? 調用自己創建的FultureTask對象的get方法即可得到,那么是如何確保程序運行完才得到結果,而不是得到中途的結果就返回了呢,原因是其會阻塞。直到線程執行完才會調用其get方法。

優點:對于需要有返回結果的線程任務可以選擇這種創建線程的方式。

缺點:創建流程過于麻煩。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/717302.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/717302.shtml
英文地址,請注明出處:http://en.pswp.cn/news/717302.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Pandas DataFrame 基本操作實例100個

Pandas 是一個基于NumPy的數據分析模塊,最初由AQR Capital Management于2008年4月開發,并于2009年底開源。Pandas的名稱來源于“Panel Data”(面板數據)和“Python數據分析”(data analysis)。這個庫現在由…

來不及了!大學必須完成的四件事!

老師們常說,上大學就輕松了 其實不然 大學不是人生的終點,而是新的起跑線 不是休息站,而是進入社會的最后沖刺跑道 大學生活苦樂參半,成人世界即將來臨 出了校門,你會發現社會復雜多變,需要不斷學習 稍…

excel中如何使用VLOOKUP和EXACT函數實現區分大小寫匹配數據

在 Excel 中,VLOOKUP 函數默認情況下是不區分大小寫的: 比如下面的案例,直接使用VLOOKUP函數搜索,只會搜索匹配到不區分大小寫的第一個 如果我們想要實現區分大小寫的精確匹配,可以使用 EXACT 函數結合 VLOOKUP 函數 …

【簡說八股】Redisson的守護線程是怎么實現的

Redisson Redisson 是一個 Java 語言實現的 Redis SDK 客戶端,在使用分布式鎖時,它就采用了「自動續期」的方案來避免鎖過期,這個守護線程我們一般也把它叫做「看門狗」線程。 Redission是一個在Java環境中使用的開源的分布式緩存和分布式鎖實…

PyTorch-卷積神經網絡

卷積神經網絡 基本結構 首先解釋一下什么是卷積,這個卷積當然不是數學上的卷積,這里的卷積其實表示的是一個三維的權重,這么解釋起來可能不太理解,我們先看看卷積網絡的基本結構。 通過上面的圖我們清楚地了解到卷積網絡和一般網…

【Javascript】設計模式之發布訂閱模式

文章目錄 1、現實中的發布-訂閱模式2、DOM 事件3、簡單的發布-訂閱模式4、通用的發布-訂閱模式5、先發布再訂閱6、小結 發布—訂閱模式又叫觀察者模式,它定義對象間的一種一對多的依賴關系,當一個對象的狀態發生改變時,所有依賴于…

Mysql深入學習 基礎篇 Ss.02 詳解四類SQL語句

我親愛的對手,亦敵亦友,但我同樣希望你能成功,與我一起,站在人生的山頂上 ——24.3.1 一、DDL 數據定義語言 1.DDL —— 數據庫操作 查詢 查詢所有數據庫 show databases; 查詢當前數據庫 select database(); 創建 create databa…

【簡說八股】Nginx、GateWay、Ribbon有什么區別?

前言 在現代的微服務架構中,Nginx、Gateway 和 Ribbon 都是處理網絡請求和服務的組件,但它們各自扮演的角色和提供的功能有所不同。下面我將詳細解釋它們之間的區別: Nginx Nginx 是一個高性能的 HTTP 和反向代理服務器,它也可…

Golang Vs Java:為您的下一個項目選擇正確的工具

Java 首次出現在 1995 年,由 James Gosling 和 Sun Microsystems 的其他人開發的一種新編程語言。從那時起,Java 已成為世界上最受歡迎和廣泛使用的編程語言之一。Java 的主要特點包括其面向對象的設計、健壯性、平臺獨立性、自動內存管理以及廣泛的內置…

MSMFN

CDFI是彩色多普勒血流成像 輔助信息 作者未提供數據

Codeforces Round 930 (Div. 2)

substr時間復雜度O&#xff08;N&#xff09;&#xff0c;不能一遍遍找&#xff0c;會超時 #include<iostream> #include<algorithm> #include<vector> #include<map> using namespace std; const int N5e510; map<string,int>mp; vector<…

[C++]AVL樹怎么轉

AVL樹是啥 一提到AVL樹&#xff0c;腦子里不是旋了&#xff0c;就是懸了。 AVL樹之所以難&#xff0c;并不是因為結構難以理解&#xff0c;而是因為他的旋轉。 AVL樹定義 平衡因子&#xff1a;對于一顆二叉樹&#xff0c;某節點的左右子樹高度之差&#xff0c;就是該節點的…

5、云原生安全之falco的規則解讀(部分)(上)

文章目錄 1、自定義規則測試1.1、自定義檢測定時任務的規則2、自帶規則詳解部分2.1、意外的出站連接源(類似的還有入站連接)2.2、檢測目錄穿越攻擊2.3、rpm數據庫被修改2.4、數據庫派生新的進程2.5、特權容器啟動2.6、啟動容器掛載到敏感路徑2.7、匹配所有在pod內啟動、并連接…

音視頻數字化(數字與模擬-照相機)

目錄 1、模擬/數字 2、第一臺照相機 3、照相機原理 4、取景方式 5、底片 6、數碼相機 7、數碼相機指標 8、數碼相機分類 (1)單反相機 (2)單電相機 (3)無反相機

2024.03.02藍橋云課筆記

1.scanf與printf取消分隔符的限制方法 示例代碼&#xff1a; int main() { char s[10];scanf("%d[^\n]",s);printf("%s",s);return 0; } 運行&#xff1a; 輸入&#xff1a;Hello World 輸出&#xff1a;Hello World 注&#xff1a;其中[]中是一個正則…

(UE4升級UE5)Selected Level Actor節點升級到UE5

本問所用工具為&#xff1a;AssetDeveTool虛幻開發常用工具https://gf.bilibili.com/item/detail/1104960041 在UE4中 編輯器藍圖有個節點為 Get Selected Level Actors 但在UE5中&#xff0c;藍圖直接升級后&#xff0c;節點失效&#xff0c;如圖&#xff1a; 因為在UE5中&am…

Vue3中Vuex狀態管理庫學習筆記

1.什么是狀態管理 在開發中&#xff0c;我們會的應用程序需要處理各種各樣的數據&#xff0c;這些數據需要保存在我們應用程序的某個位置&#xff0c;對于這些數據的管理我們就稱之為狀態管理。 在之前我們如何管理自己的狀態呢&#xff1f; 在Vue開發中&#xff0c;我們使用…

大廠面試經驗:如何對加密后的數據進行模糊查詢操作

加密后的數據對模糊查詢不是很友好&#xff0c;本篇就針對加密數據模糊查詢這個問題來展開講一講實現的思路。 為了數據安全我們在開發過程中經常會對重要的數據進行加密存儲&#xff0c;常見的有&#xff1a;密碼、手機號、電話號碼、詳細地址、銀行卡號、信用卡驗證碼等信息…

YoloV5改進策略:主干網絡改進|MogaNet——高效的多階門控聚合網絡

文章目錄 摘要論文:《MogaNet——高效的多階門控聚合網絡》1、簡介2、相關工作2.1、視覺Transformers2.2、ViT時代的卷積網絡3、從多階博弈論交互的角度看表示瓶頸4、方法論4.1、MogaNet概述4.2、多階門控聚合4.3、通過通道聚合進行多階特征重新分配4.4、實現細節5、實驗5.1、…

Vue 3 中的 setup 函數是如何工作的?

Vue 3 中的 setup 函數是一個新的組件選項&#xff0c;用于使用組合式 API 定義組件的邏輯。這個函數的引入是為了解決 Vue 2 中隨著組件復雜度的增長&#xff0c;選項式的 API 可能導致代碼難以維護和理解的問題。通過 setup 函數&#xff0c;開發者可以更加靈活地組織和共享代…