最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

Go有意思小問(wèn)題匯集

2023-04-11 09:55 作者:清澄秋爽  | 我要投稿

有緩沖的channel沒(méi)有讀完,close后還能繼續(xù)讀出里面的內(nèi)容嗎?

可以!

讀取多次可以依次拿到之前寫入的值,直到最后讀完,繼續(xù)讀則得到對(duì)應(yīng)channel類型的0值



golang之channel入門

channel需要注意的點(diǎn):

  • 關(guān)閉一個(gè)nil channel 會(huì)導(dǎo)致程序panic

  • channel關(guān)閉之后,仍然可以從channel中讀取剩余的數(shù)據(jù),直到數(shù)據(jù)全部讀取完成。讀取完后繼續(xù)讀,得到的將是對(duì)應(yīng)類型的零值.

  • 而如果繼續(xù)向已關(guān)閉的channel發(fā)送數(shù)據(jù),會(huì)引起panic

  • channel不能關(guān)閉兩次,否則會(huì)panic


A->B->C三個(gè)祖孫協(xié)程,B耗時(shí)最短,B執(zhí)行結(jié)束后,C還會(huì)繼續(xù)執(zhí)行嗎?


即?Go中父協(xié)程與子協(xié)程的生命周期問(wèn)題

結(jié)論:

1. 當(dāng)父協(xié)程是main協(xié)程時(shí),父協(xié)程退出,父協(xié)程下的所有子協(xié)程也會(huì)跟著退出; (當(dāng)main協(xié)程結(jié)束時(shí),子協(xié)程也是會(huì)被終止掉的)

輸出:


2. 當(dāng)父協(xié)程不是main協(xié)程時(shí),父協(xié)程退出,父協(xié)程下的所有子協(xié)程并不會(huì)跟著退出(子協(xié)程直到自己的所有邏輯執(zhí)行完或者是main協(xié)程結(jié)束才結(jié)束)

go中父協(xié)程與子協(xié)程的生命周期(子協(xié)程能否使用主協(xié)程變量)



子協(xié)程panic,主協(xié)程還能不能正常運(yùn)行? 主協(xié)程里的recover,能捕獲子協(xié)程的panic嗎?

不能


主協(xié)程里的recover,能捕獲子協(xié)程的panic嗎?

不能~

對(duì)于goroutine中的panic,協(xié)程外面的recover是無(wú)法恢復(fù)的;goroutine中的recover,同樣無(wú)法恢復(fù)協(xié)程外的panic

Go異常處理機(jī)制panic和recover


recover哪些情況下阻止不了程序崩潰?


不能~

  • 并發(fā)讀寫 map

  • 堆棧內(nèi)存耗盡(如遞歸)

  • 將 nil 函數(shù)作為 goroutine 啟動(dòng)

  • goroutines 死鎖

  • 線程限制耗盡

  • 超出可用內(nèi)存

會(huì)報(bào)fatal error:xxxxxxxx

recover能捕獲所有錯(cuò)誤嗎?



Go有意思小問(wèn)題匯集的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
临泉县| 凌云县| 苍南县| 台北市| 台湾省| 伊宁县| 东明县| 玉屏| 民权县| 泊头市| 左权县| 靖宇县| 辽宁省| 屏东县| 白城市| 高邮市| 台州市| 射阳县| 景宁| 乐陵市| 太白县| 锡林郭勒盟| 江城| 威远县| 麻城市| 平罗县| 武安市| 平谷区| 那曲县| 曲阳县| 平山县| 商都县| 乐亭县| 调兵山市| 固阳县| 武鸣县| 长治县| 同德县| 南澳县| 武乡县| 资源县|