1、進程是資源分配的最小單位,線程是CPU調度的最小單位。
2、在使用多線程時,經常會遇到的一些問題:
(1)競爭狀態:多個線程以不一致的順序訪問數據或資源;
(2)死鎖:兩個線程相互等待對方停止使用其所擁有的資源,造成兩者都永久等待;A:1->2->3 B:2->1->3 t1:A:1,B:2 接下來:A:2,B:1 造成死鎖
(3)只會發生在特定情況下且難以穩定重現和修復的bug
3、編程語言提供的線程叫做綠色線程,如go語言,在底層實現了M:N的模型,即M個綠色線程對應N個OS線程。但是,Rust標準庫只提供1:1的線程模型的實現,即一個Rust線程對應一個OS線程。運行時代表二進制文件中包含的由語言本身提供的代碼,這些代碼根據語言的不同可大可小,不過非彙編語言都會有一定數量的運行時代碼。通常,大家說一個語言“沒有運行時”,是指這個語言的“運行時”很小。Rust、C都是幾乎沒有運行時的。
Rust編程進階:043、多線程介紹
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章
OSS_PIPE:Rust編寫的大規模文件遷移工具
京東雲開發者
2024-05-15 23:59:27
利用pyinstaller打包Python程序爲一個可執行文件
osc_hwc3munb
2024-05-14 02:04:34
OSS_PIPE:Rust編寫的大規模文件遷移工具| 京東雲技術團隊
原創
2024-05-13 23:59:27
【深圳招聘】Taro 團隊招前端開發工程師!
原創
2024-05-13 21:53:04
流水線 YAML 高級用法來了!大幅降低重複代碼、靈活編排多任務
原創
2024-05-16 21:13:44
通義千問 2.5 “客串” ChatGPT4,你分的清嗎?
原創
2024-05-16 21:13:41
`iris.context`獲取參數的具體代碼是什麼?
獲取URL路徑參數: go 複製 package main import ( "github.com/kataras/iris/v12" ) func main() {
原創
2024-05-16 01:55:00
使用NPS自建內網穿透服務器教程,帶WEB管理
Darren_Leo
2024-05-13 02:05:53
雲效 Pipeline as Code 來了!這些場景,用好它效率翻倍!
原創
2024-05-11 21:15:05
通義靈碼企業版正式發佈,滿足企業私域知識檢索、數據合規、統一管理等需求
原創
2024-05-11 21:15:01
git 將其中一個文件恢復到之前的版本
原創
2024-05-08 12:43:22
「Java開發指南」如何用MyEclipse搭建GWT 2.1和Spring?(一)
原創
2024-05-08 11:36:35
我們團隊來了一位新同事,主動要求幫忙敲代碼!歡迎 AI 001號
原創
2024-05-07 21:12:06