goroutine

    3

    2答えて

    私はGoを学習し、その同時性機能を理解しようとしています。 私は以下のプログラムを持っています。 package main import ( "fmt" "sync" ) func main() { var wg sync.WaitGroup for i := 0; i < 5; i++ { wg.Add(1) x :=

    2

    2答えて

    「同時マップ読み取りとマップ書き込み」でランタイムパニックからどのように復旧しますか?通常の回復の遅れは機能していないようです。何故ですか? 私は、あなたが並行コンテキストでマップを使用することは想定されていませんが、ここでも回復する方法は知っていますか? 例: package main import "time" var m = make(map[string]string) fun

    0

    1答えて

    私は、たくさんのロジックと機能をカプセル化したSDKを書いています。 通常、イベントリスナー/コールバックを使用して、SDKを使用してアプリケーションにフィードバックを提供しますが、これはGoでは慣用的ではありません。 チャネルとゴルーチンがコールバックの無効を埋めるのは私の理解ですが、これを実装する方法は何ですか? たとえば、私のSDKには、主なアプリケーションに通知したいイベントがいくつかあり

    0

    1答えて

    @Sam Whitedの前進とスタックに関するいくつかの調査の後、私のコードは以下のように書き直されました。このコードはもっと安定しています。問題を抱えています。毎回、私は自分の要求をクローズしていないかのように、TCPエラーのスルーをします。私は睡眠を加えることによって要求を絞った。それは少し助けているようです。 func main() { runtime.GOMAXPROCS(max

    1

    1答えて

    2つのボタンを持つhtmlページを作成する必要があります.1つはゴルーチンを開始し、無限ループを開始し、他のボタンは無限ループを解除する必要があります。私の読書から、私はgoroutineがそれの外側から殺されることができないことを理解しました。これを実装する方法はありますか?私のコードは次の通りです: command := c.GetString("command") // from clien

    1

    2答えて

    私はチャネルに書き込んでいる関数(クロージャではない)を持っています。私は今、私は別のゴルーチンを使用して、そのチャンネルから読み取るしようとしています for ; ; { if err == io.EOF { fmt.Println(err) close(somechan) fmt.Println("Closed channel") b

    0

    1答えて

    golangを初めて使用しています。私はgolangでmysql dbに対して並行クエリを実行しようとしています。私は、チャネルがタイプインタフェースであることができることを知っている。 RunQueryにtableData (type map)を印刷すると結果が出ます。 tableDataをchに送信しています。つまり、タイプインターフェイスのチャネルです。関数getdataListでは、chに

    -1

    1答えて

    bestpractice私はゴルーチンがある生み出されたことを確認する方法についての基本的な理解に問題を持っている長期実行中のプロセスのコンテキストで適切に「閉じました」。私はその話題に関する話を見て、ベストプラクティスについて読んでいました。私の質問を理解するためには、ビデオ "高度な同時並行パターン"を参照してください。 マシン上でコードを実行する場合は、環境変数GOTRACEBACK=all

    2

    1答えて

    私はGolangルーチンの簡単なコードを理解しようとしています: package main import ( "fmt" "time" ) func sleep(seconds int, endSignal chan<- bool) { time.Sleep(time.Duration(seconds) * time.Second) endSigna