java併發
併發解決的問題
用併發解決的問題大體上可以分爲“速度”和“設計可管理性”兩種
讓步
如果知道已經完成了在run()方法的循環的一次迭代過程中所需要的工作,就可以給線程調度機制一個暗示:你的工作已經做得差不多了,可以讓其他的線程使用
CPU了。這個暗示將通過調用yield()方法來操作(不過這只是一個暗示,沒有任何機制保證它會被採納)。當調用yield()事,你可以建議具有相同優先級的其他線程
可以運行。本次讓出優先級並且同時競爭資源,讓當前運行線程回到可運行狀態,以允許具有相同優先級的其他線程獲得運行機會
後臺線程
所謂的後臺程序,是指程序在運行的時候提供的一種通用的服務線程,並且這種線程並不是程序所必須的,所以當所有的非後臺線程都停止了,整個程序也就停止了
反過來說只要有非後臺線程在運行整個程序就還在運行
Thread th = new Thread();
th.setDaemon(true);//啓動後臺線程
用併發解決的問題大體上可以分爲“速度”和“設計可管理性”兩種
讓步
如果知道已經完成了在run()方法的循環的一次迭代過程中所需要的工作,就可以給線程調度機制一個暗示:你的工作已經做得差不多了,可以讓其他的線程使用
CPU了。這個暗示將通過調用yield()方法來操作(不過這只是一個暗示,沒有任何機制保證它會被採納)。當調用yield()事,你可以建議具有相同優先級的其他線程
可以運行。本次讓出優先級並且同時競爭資源,讓當前運行線程回到可運行狀態,以允許具有相同優先級的其他線程獲得運行機會
後臺線程
所謂的後臺程序,是指程序在運行的時候提供的一種通用的服務線程,並且這種線程並不是程序所必須的,所以當所有的非後臺線程都停止了,整個程序也就停止了
反過來說只要有非後臺線程在運行整個程序就還在運行
Thread th = new Thread();
th.setDaemon(true);//啓動後臺線程
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章
鼠標控制軟件有可能和虛擬機軟件產生衝突
氫氦
2024-06-13 14:37:05
比特幣區塊檢查
weiwei22844
2024-06-13 14:36:55
自定義MyBatis插件
燈塔下的守望者
2024-06-13 14:36:45
高性能版本的零內存分配LikeString函數(ZeroMemAllocLikeOperator)
VAllen
2024-06-13 14:35:54
【java基礎】java線程的四種創建方式
金大鑫要堅持
2024-06-13 14:32:24
【java基礎】線程池的狀態流轉
金大鑫要堅持
2024-06-13 14:32:24
微服務實踐之使用 kube-vip 搭建高可用 Kubernetes 集羣
hiningrise
2024-06-13 14:30:24
Keyboard Maestro 常用的 Actions 記錄
水車
2024-06-13 14:27:44
一款.NET開源、功能強大、跨平臺的繪圖庫 - OxyPlot
追逐時光
2024-06-13 14:27:24
一個開源且全面的C#算法實戰教程
追逐時光
2024-06-13 14:27:24
重新搞黑魂1的mod
張博的博客
2024-06-13 14:25:14
C語言--右移 左移
張博的博客
2024-06-13 14:25:14
HbuilderX,找不到rollup/rollup-win32-x64-msvc
HelloLLLLL
2024-06-13 14:22:53