goroutine

    -1

    2答えて

    私のコードは複雑ではありませんが、単純に言えば複数のgoルーチンを持っていて、すべて異なるtcpサーバーをダイヤルして、読み取り可能なメッセージがストリーム上に存在します。ここまでは順調ですね。今、「クライアント」の前の束を管理し、ユーザーが望むときにそれらを閉じるルーチンがあります。そのために、私はそれぞれの「conn」を適切なルーチンのクライアントに関連付け、それを閉じています。 私が直面して

    1

    1答えて

    だから、私は並行しているコードを持っており、それは各CPU /コア上で実行されることを意図しています。 入力/出力値を有する2つの大きなベクトル var ( input = make([]float64, rowCount) output = make([]float64, rowCount) ) は、これらが充填され、Iは各入出力ペアの間の距離(誤差)を計算したいがありま

    1

    1答えて

    良いウェブ無効なリンクチェッカーが見つかりました。しかし、ゴルーチンを使って完全なサンプルを変更するには?ウェブページはHow To Crawl A Website In Golangです。コードは、検索されるURLをpendingスライスに動的に追加します。私はそれをするためにgoroutineを使用するいくつかの困難があります。 package main import ( "cryp

    0

    3答えて

    このゴルーチンブロック... go log.Fatal(http.ListenAndServe(":8000", nil)) log.Print("This doesn't print") このゴルーチンはブロックされません... go func() { log.Fatal(http.ListenAndServe(":8000", nil)) }() log.Print("Th

    4

    3答えて

    私は関数を呼び出すゴルーチンを持っています。特別なパラメータを指定して、このゴルーチンを開始または停止します。私の問題は、このコードが私のgoroutineを止めることはなく、毎回新しい仕事を生み出すことです。 quit := make(chan bool) run := make(chan bool) go func() { for { select {

    4

    2答えて

    再帰関数を実行するgoroutineを見つめて、その再帰関数を停止するシグナルを送信したい。これは、(機能は重要ではありません)関数です: func RecursiveFunc(x int, depth int, quit chan bool) int { if depth == 0 { return 1 } if quit != nil {

    0

    1答えて

    私はgoroutineを試していましたが、goroutine内の構造体の値を変更できないようです(下記の例を参照)。これのための回避策はありますか? EDIT:sleepを実行するとコードが実行されるようになります。これは、より長い時間が与えられてもgoroutinesは実行されますが、main()内のすべてが実行された後に終了することを示します。どのように私のゴルーチンが進行する前に終了するのを

    0

    3答えて

    私はgoroutines、チャンネルなどに慣れています。 for _, h := range hosts { go func() { httpClient := cleanhttp.DefaultPooledClient() // format the URL with the passed host and por url := fmt.Spr

    1

    1答えて

    迷惑な問題に直面しています。 wg.Add()を使用してルーチンを同期しようとすると、デッドロックエラーが発生します。 package main import ( "fmt" "sync" ) func hello(ch chan int, num int, wg *sync.WaitGroup) { for { i := <-ch i

    0

    2答えて

    私は、次のコードを実行すると: import ( "log" "sync" "testing" "time" ) func TestConcurrency(t *testing.T) { var mutex sync.RWMutex dictionary := make(map[interface{}]interface{}) go func() { var value