第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

帶有 goroutine 的 Golang 守護(hù)進(jìn)程不會(huì)停止執(zhí)行

帶有 goroutine 的 Golang 守護(hù)進(jìn)程不會(huì)停止執(zhí)行

Go
萬(wàn)千封印 2022-01-17 18:11:26
我創(chuàng)建了一個(gè)守護(hù)進(jìn)程,其目標(biāo)是并行使用隊(duì)列。為了測(cè)試它是否在后臺(tái)繼續(xù)執(zhí)行,我實(shí)現(xiàn)了一個(gè)函數(shù),它每 10 秒創(chuàng)建一個(gè)文件,直到它到達(dá) X,其中 X 是我為隊(duì)列配置的最大進(jìn)程數(shù)。隊(duì)列的參數(shù)在 config.yaml 文件中定義?,F(xiàn)在的問(wèn)題是,即使我停止并刪除了守護(hù)程序,程序似乎仍在運(yùn)行并創(chuàng)建文件......我已經(jīng)嘗試再次構(gòu)建和運(yùn)行程序,退出它,結(jié)束進(jìn)程,刪除文件,但是似乎沒(méi)有任何效果,文件不斷在程序目錄中創(chuàng)建。您可以在此處查看程序代碼,并在此處查看配置文件。你知道我該如何解決這個(gè)問(wèn)題嗎?提前致謝!
查看完整描述

2 回答

?
躍然一笑

TA貢獻(xiàn)1826條經(jīng)驗(yàn) 獲得超6個(gè)贊

此代碼將永遠(yuǎn)不會(huì)退出,直到它進(jìn)行l(wèi)en(queues)多次處理。它不是并發(fā)代碼 - 全部在主體中 - 并且沒(méi)有信號(hào)告訴代碼停止。問(wèn)題在這里:


case "run":

    // Installing the service

    installed, err := service.Install()

    logError(err, installed)

    // Starting the service

    started, err := service.Start()

    logError(err, started)

    if err == nil {

        // Creating a goroutine and executing the queue's processes in parallel

        for i := 0; i < len(queues); i++ {

            go startProcessing(queues[i])

            time.Sleep(time.Second) // Waiting for other functions to execute

        }

        select {} // To prevent the goroutine from exiting the main func

    }

    fmt.Println(started)

可以看出,這select{}條線將坐在那里并永遠(yuǎn)運(yùn)行!:) 最好將這個(gè) case 子句移到他們自己的 goroutine 中,并在那里有一個(gè)退出信號(hào),如下所示:


select {

    case <-quit:

        return

}

盡管這不是在 Go 應(yīng)用程序中處理啟動(dòng)/停止的最簡(jiǎn)潔方式;它只是顯示了問(wèn)題。


查看完整回答
反對(duì) 回復(fù) 2022-01-17
?
Cats萌萌

TA貢獻(xiàn)1805條經(jīng)驗(yàn) 獲得超9個(gè)贊

當(dāng)提出這樣的問(wèn)題時(shí),您應(yīng)該考慮將MCVE放在一起。

這樣,由于問(wèn)題的規(guī)模要小得多,您可能會(huì)自己解決問(wèn)題。
如果沒(méi)有,至少這里的人會(huì)更容易幫助你。


查看完整回答
反對(duì) 回復(fù) 2022-01-17
  • 2 回答
  • 0 關(guān)注
  • 351 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)