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

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

并發(fā)問(wèn)題 - 在兩個(gè)通道上發(fā)送 INT 流 - 從一個(gè)通道讀取

并發(fā)問(wèn)題 - 在兩個(gè)通道上發(fā)送 INT 流 - 從一個(gè)通道讀取

Go
千萬(wàn)里不及你 2023-01-03 13:51:55
我應(yīng)該實(shí)施什么:一個(gè)生成隨機(jī) INT 并將它們放在一個(gè)通道上并在每次通道推送后暫停 1 秒的 go 例程(我們稱(chēng)之為 A)。執(zhí)行相同操作的第二個(gè) go 例程 (B)。將隨機(jī) INT 放入通道 B 并暫停 2 秒?,F(xiàn)在,我必須從兩個(gè)通道讀取數(shù)據(jù),并創(chuàng)建一個(gè) SUM。例如。來(lái)自通道 A 的第一個(gè)元素與來(lái)自通道 B 的第一個(gè)元素 - 求和并將其放入通道 C(依此類(lèi)推 +1),直到創(chuàng)建 100 個(gè)和。完成 100 個(gè)總和后(放入通道 C 并讀?。? 關(guān)閉通道 A、通道 B 和通道 C。到目前為止我所擁有的:
查看完整描述

1 回答

?
慕娘9325324

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

package main


import (

    "fmt"

    "math/rand"

    "time"

)


func main() {


    a := make(chan int, 10)

    b := make(chan int, 10)

    c := make(chan string, 10)


    go func() {

        for {

            rand.Seed(time.Now().UnixNano())

            a <- rand.Intn(101)

            time.Sleep(time.Millisecond * 100)

        }

    }()


    go func() {

        for {

            rand.Seed(time.Now().UnixNano())

            b <- rand.Intn(101)

            time.Sleep(time.Millisecond * 300)

        }

    }()


    go func() {

        for {

            select {

            case ai := <-a:

                bi := <-b

                sum := ai + bi

                c <- fmt.Sprintf("%d + %d = %d", ai, bi, sum)


            }

        }

    }()


    sums := 0

    for val := range c {

        if sums == 10 {

            close(c)

            close(b)

            close(a)

        }

        println(val)

        sums++

    }


}


出于測(cè)試目的,我將秒更改為毫秒,而不是 100 個(gè)和,我驗(yàn)證了 10 個(gè),但你明白了。


額外信息:通道 A 和通道 B 必須緩沖 100 個(gè)項(xiàng)目。同樣,出于測(cè)試目的,我在這里只放了 10 個(gè)。


我時(shí)不時(shí)地收到死鎖,我明白為什么。我的問(wèn)題是,我不明白如何從接收通道關(guān)閉兩個(gè)發(fā)送通道。任何人都可以解決這個(gè)謎團(tuán)并向我解釋一下。


查看完整回答
反對(duì) 回復(fù) 2023-01-03
  • 1 回答
  • 0 關(guān)注
  • 93 瀏覽
慕課專(zhuān)欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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