java併發
併發解決的問題
用併發解決的問題大體上可以分爲“速度”和“設計可管理性”兩種
讓步
如果知道已經完成了在run()方法的循環的一次迭代過程中所需要的工作,就可以給線程調度機制一個暗示:你的工作已經做得差不多了,可以讓其他的線程使用
CPU了。這個暗示將通過調用yield()方法來操作(不過這只是一個暗示,沒有任何機制保證它會被採納)。當調用yield()事,你可以建議具有相同優先級的其他線程
可以運行。本次讓出優先級並且同時競爭資源,讓當前運行線程回到可運行狀態,以允許具有相同優先級的其他線程獲得運行機會
後臺線程
所謂的後臺程序,是指程序在運行的時候提供的一種通用的服務線程,並且這種線程並不是程序所必須的,所以當所有的非後臺線程都停止了,整個程序也就停止了
反過來說只要有非後臺線程在運行整個程序就還在運行
Thread th = new Thread();
th.setDaemon(true);//啓動後臺線程
用併發解決的問題大體上可以分爲“速度”和“設計可管理性”兩種
讓步
如果知道已經完成了在run()方法的循環的一次迭代過程中所需要的工作,就可以給線程調度機制一個暗示:你的工作已經做得差不多了,可以讓其他的線程使用
CPU了。這個暗示將通過調用yield()方法來操作(不過這只是一個暗示,沒有任何機制保證它會被採納)。當調用yield()事,你可以建議具有相同優先級的其他線程
可以運行。本次讓出優先級並且同時競爭資源,讓當前運行線程回到可運行狀態,以允許具有相同優先級的其他線程獲得運行機會
後臺線程
所謂的後臺程序,是指程序在運行的時候提供的一種通用的服務線程,並且這種線程並不是程序所必須的,所以當所有的非後臺線程都停止了,整個程序也就停止了
反過來說只要有非後臺線程在運行整個程序就還在運行
Thread th = new Thread();
th.setDaemon(true);//啓動後臺線程
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章
虛擬遊戲理財 算法題
金大鑫要堅持
2024-03-29 14:29:17
Sysbench安裝與使用
HANFAN
2024-03-29 14:28:17
vue3讀取配置文件變量
console.log('VITE_API_URL=' + import.meta.env.VITE_API_URL);
hiningrise
2024-03-29 14:27:17
docker mysql表名和數據庫名不區分大小寫
version: '3' services: mysql: image: mysql:tag environment: - MYSQL_LOWER_CASE_TABLE_NAMES=1 volume
hiningrise
2024-03-29 14:27:17
Unity網絡通信系統設計
君莫笑-93
2024-03-29 14:26:26
LineageOS刷機教程
Sindtoto
2024-03-29 14:24:46
靜態(隱式)調用/動態(顯式)調用-動態鏈接庫和靜態鏈接庫
BraveHeart
2024-03-29 14:24:26
自己寫個網盤系列:③ 開源這個網盤編碼,手把手教你windows linux 直接部署,docker本地打包部署網盤應用
簽約乄芐﹃站
2024-03-29 14:23:36
實現冪等性的幾種方案
uper超人
2024-03-29 14:16:46
網站域名突然不能用了
馬昌偉
2024-03-29 14:15:05
kbnet.toolkit.formulas
尹泓
2024-03-29 14:12:05
[plugin] 插件開發之旅-VSCode插件開發筆記
day 0: VSCode官方教程 https://code.visualstudio.com/api/get-started/your-first-extension
ffl
2024-03-29 14:09:35
[轉][C#] Guid 一些常用方法
z5337
2024-03-29 14:05:45
Swagger 文檔工具 設計、構建、文檔化和使用您的 RESTful API
葉止水
2024-03-29 14:00:14