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

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

如果功能相同,如何使 Goroutine 不并發(fā)

如果功能相同,如何使 Goroutine 不并發(fā)

Go
繁花不似錦 2022-12-05 16:36:02
如果是同一個(gè)函數(shù),有沒(méi)有辦法讓 goroutine 一個(gè)接一個(gè)(一個(gè)接一個(gè))執(zhí)行?我不是故意首先使用 goroutine 的。但是TCP中的“os/exec”函數(shù)會(huì)導(dǎo)致tcp強(qiáng)制停止。因此我使用 goroutine 來(lái)避免崩潰。但我還是希望他們按順序執(zhí)行,而不是同時(shí)執(zhí)行。這是我的代碼。func handleTCP(conn net.Conn) {    defer conn.Close()        fmt.Println("handle TCP function")        for {              wg := new(sync.WaitGroup)              wg.Add(1)              go func() {                  cmdArgs := []string{temp_str, test_press, gh, "sample.csv"}                  cmd := exec.Command("calib.exe", cmdArgs...)                  wg.Done()              }()                      }}
查看完整描述

2 回答

?
qq_花開(kāi)花謝_0

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

您可以使用鎖將對(duì)資源的訪問(wèn)一次限制為一個(gè)線程,如下所示

i := 1

iLock = &sync.Mutex{}


for {

    go func() {

        iLock.Lock()

        fmt.Printf("Value of i: %d\n", i)

        iLock.Unlock()

    }

}

更多例子在這里

不確定您使用的是什么WaitGroup。如果是為了達(dá)到你想要的順序性,那么可以去掉。



查看完整回答
反對(duì) 回復(fù) 2022-12-05
?
海綿寶寶撒

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

嘗試將鎖放入函數(shù)中,這會(huì)使它們的執(zhí)行順序進(jìn)行。但請(qǐng)記住,wg.Done() 必須在函數(shù)的第一行處于延遲狀態(tài)。是這樣的:


var mu sync.Mutex


func handleTCP(conn net.Conn) {

    defer conn.Close()

        fmt.Println("handle TCP function")

        for {

              wg := new(sync.WaitGroup)

              wg.Add(1)

              go func() {

                  defer wg.Done()

                  mu.Lock()

                  defer mu.UnLock()

                  cmdArgs := []string{temp_str, test_press, gh, "sample.csv"}

                  cmd := exec.Command("calib.exe", cmdArgs...)

                  

              }()

              

        }

}


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

添加回答

舉報(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)