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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

golang中的执行规则

發布時間:2025/6/15 编程问答 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 golang中的执行规则 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

簡介

如果使用用戶級線程,我們就不得不既是指令下達者,又是指令執行者。我們必須全權負責與用戶級線程有關的所有具體實現。

操作系統不但不會幫忙,還會要求我們的具體實現必須與它正確地對接,否則用戶級線程就無法被并發地,甚至正確地運行。畢竟我們編寫的所有代碼最終都需要通過操作系統才能在計算機上執行

不過別擔心,Go 語言不但有著獨特的并發編程模型,以及用戶級線程 goroutine,還擁有強大的用于調度 goroutine、對接系統級線程的調度器。

這個調度器是 Go 語言運行時系統的重要組成部分,它主要負責統籌調配 Go 并發編程模型中的三個主要元素,即:G(goroutine 的縮寫)、P(processor 的縮寫)和 M(machine 的縮寫)

其中的 M 指代的就是系統級線程。而 P 指的是一種可以承載若干個 G,且能夠使這些 G 適時地與 M 進行對接,并得到真正運行的中介。

從宏觀上說,G 和 M 由于 P 的存在可以呈現出多對多的關系。當一個正在與某個 M 對接并運行著的 G,需要因某個事件(比如等待 I/O 或鎖的解除)而暫停運行的時候,調度器總會及時地發現,并把這個 G 與那個 M 分離開,以釋放計算資源供那些等待運行的 G 使用。

而當一個 G 需要恢復運行的時候,調度器又會盡快地為它尋找空閑的計算資源(包括 M)并安排運行。另外,當 M 不夠用時,調度器會幫我們向操作系統申請新的系統級線程,而當某個 M 已無用時,調度器又會負責把它及時地銷毀掉。

正因為調度器幫助我們做了很多事,所以我們的 Go 程序才總是能高效地利用操作系統和計算機資源。程序中的所有 goroutine 也都會被充分地調度,其中的代碼也都會被并發地運行,即使這樣的 goroutine 有數以十萬計,也仍然可以如此

一定要注意,go函數真正被執行的時間,總會與其所屬的go語句被執行的時間不同。當程序執行到一條go語句的時候,Go 語言的運行時系統,會先試圖從某個存放空閑的 G 的隊列中獲取一個 G(也就是 goroutine),它只有在找不到空閑 G 的情況下才會去創建一個新的 G

控制數量

用runtime.GOMAXPROCS(maxProcs)來控制P的數量

控制協程的數量

我們先創建一個通道,它的長度應該與我們手動啟用的 goroutine 的數量一致。在每個手動啟用的 goroutine 即將運行完畢的時候,我們都要向該通道發送一個值

import ("fmt" )func main() {num := 10sign := make(chan struct{}, num)for i := 0; i < num; i++ {go func() {fmt.Println(i)sign <- struct{}{}}()}for j := 0; j < num; j++ {<-sign} }

其中有一個細節你需要注意。我在聲明通道sign的時候是以chan struct{}作為其類型的。其中的類型字面量struct{}有些類似于空接口類型interface{},它代表了既不包含任何字段也不擁有任何方法的空結構體類型。

注意,struct{}類型值的表示法只有一個,即:struct{}{}。并且,它占用的內存空間是0字節。確切地說,這個值在整個 Go 程序中永遠都只會存在一份。雖然我們可以無數次地使用這個值字面量,但是用到的卻都是同一個值

總結

以上是生活随笔為你收集整理的golang中的执行规则的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 特黄视频免费看 | av网址免费观看 | 中文字幕av无码一区二区三区 | 人妻视频一区二区三区 | 26uuu亚洲国产精品 | 国产毛片一区二区 | 插我一区二区在线观看 | 黑人巨大精品欧美 | 黄页视频在线观看 | 久久在线观看 | 亚洲天堂视频网 | 国产精品va无码一区二区三区 | 一级欧美一级日韩片 | 实拍澡堂美女洗澡av | av网子 | 天天欲色 | com国产| 久久久精品在线 | 欧美在线一区二区三区四区 | 亚洲乱码一区二区三区 | 日本视频在线播放 | 亚洲色图激情小说 | 怨女1988国语版在线观看高清 | 国产高清免费视频 | 亚洲欧美日韩综合 | 欧美精品在线视频观看 | 夜夜欢视频 | 中国女人毛片 | 毛茸茸毛片 | 女的高潮流时喷水图片大全 | 成人动漫av在线 | 少妇一级淫片免费放播放 | 国产高清成人久久 | 国产精品一区二区三区四区 | www.九色 | 色噜噜在线观看 | 亚洲精选国产 | 国产精品人人人人 | 欧美另类极品videosbest最新版本 | 手机在线观看免费av | 欧美性做爰毛片 | 九九热精品在线观看 | 一级网站在线观看 | 久久99热久久99精品 | 蜜桃视频黄色 | 亚洲永久精品在线观看 | jlzzjlzzjlzz亚洲人| 午夜天堂视频 | 在线天堂在线 | 黄色片免费视频 | 五月六月丁香 | 五号特工组之偷天换月 | 成人精品在线观看视频 | 天天燥日日燥 | 成人涩涩网站 | 国产精品玖玖玖 | 另类欧美亚洲 | 国产一级片毛片 | 老师上课夹震蛋高潮了 | 国产乱码在线 | 国产精品成人一区 | 91麻豆精品国产91久久久久久久久 | 中文字幕精品在线视频 | 免费av网站大全 | 国产视频在线看 | 欧美在线视频网 | 亚洲免费影院 | 日韩aⅴ片 | 男人爽女人下面动态图 | 欧美爽爽| 免费人成在线观看 | 欧美黄色小视频 | 微拍福利一区二区 | 97精品国产97久久久久久春色 | 精品久久久久久久久久久久久久久久久 | 亚洲精品女人久久久 | 亚洲成人精品av | 国产成人高清视频 | 日韩av不卡在线 | 8x8ⅹ8成人免费视频观看 | 亚洲天堂网络 | 人人搞人人爱 | 毛片在线观看网站 | 欧美精品在线视频观看 | 四虎国产成人永久精品免费 | 国产又粗又黄又爽又硬的视频 | 中文字幕在线观看不卡 | 丁香婷婷网 | 男人的天堂国产 | www啪啪| 奇米影视首页 | 成人理论视频 | 成人拍拍拍 | 人妻少妇被猛烈进入中文字幕 | 中文日韩| 亚洲网站免费 | 国产精品入口日韩视频大尺度 | 蜜桃视频久久 | 在线视频网 |