goroutine

    2

    1답변

    간단한 작업자 풀을 구현하고 문제를 계속 실행하려고합니다. 내가하고 싶은 일은 더 많은 일을하기 전에 일정량의 일을하는 정해진 수의 근로자를 확보하는 것뿐입니다. 내가 비슷합니다 사용하고 코드 : jobs := make(chan imageMessage, 1) results := make(chan imageMessage, 1) for w

    0

    1답변

    사용자가 URL에 도달했을 때 응답을 제공하기 위해 http.ListenAndServe을 사용하는 경우 함수의 해당 동작을 goroutine으로 실행해야합니까? 예를 들어 , 나는 /에서 듣고있어 말 : 그것은 사실 후에 오는 잠재적 인 요구를 느리게하지 않도록 func main() { http.HandleFunc("/", provideMainCo

    1

    2답변

    다음 코드에서는 MaxOutstanding 개의 핸들러를 생성하려고합니다. 각 처리기는 queue 큐에있는 항목을 반복하고 인쇄하며 채널에 true이라고 씁니다. 내 주요 기능에서는 핸들러를 시작하고 queue에 9 개의 요소를 쓰고 첫 번째 요소가 done 대기열에 기록 될 때까지 기다립니다. package main import "fmt" typ

    1

    2답변

    Run() 메서드가있는 Hub 구조체가 고유 한 goroutine에서 실행됩니다. 이 방법은 수신 메시지를 순차적으로 처리합니다. 메시지는 여러 프로듀서 (개별 goroutines)로부터 동시에 도착합니다. 물론이 작업을 수행하려면 channel을 사용합니다. 그러나 이제 interface 뒤에 Hub을 숨기고 구현에서 선택할 수 있습니다. 따라서 chan

    2

    1답변

    에 물건을 수행 fatal error: all goroutines are asleep - deadlock! : func execTask(input int, results chan<- int) { //do stuff (in my case, start process and return something) results <- someResult

    3

    1답변

    은 원하는 일을 성취하기위한 일과성을 지연시킬 수 있습니까? 다음 배경 : 채널의 데이터베이스 연결을 풀링합니다. 내가 정말하고 싶은 것은 session, err := getSessionFromQueue() // ... // serving content to my client // ... go queueSession(session) 이다 기본적으

    2

    1답변

    나는 가기가 쉽다. HTTP 요청을 수신하는 서버가 있고 동시에 데이터를 업데이트 할 수 있도록 Redis 알림을 확인해야합니다. 아래의 예는 다음과 같습니다 func checkExpire() { for { switch msg := pubSubConn.Receive().(type) { case redis.Message:

    0

    2답변

    나는 GO에 새로운 있습니다. 나는 다음과 같은 레거시 코드를 가지고있다. var db *sql.DB func init() { go feedChan() connString := os.Getenv("DB_CONN") var err error db, err = sql.Open("postgres", connString)

    0

    1답변

    여기 동시성 예를 들어 오전는 :가 package main import "fmt" func fibonacci(c, quit chan int) { x, y := 0, 1 for { select { case c <- x: x, y = y, x + y case <- quit: fm

    -3

    2답변

    안녕하세요. 루틴과 채널에 대해 알아 봅니다. 채널을 통해 실험 해보고, 채널을 통해 데이터를 보내고 2 가지 기능을 사용하려고합니다. package main import ( "fmt" "os" "time" ) func timeout(duration int, ch chan<- bool) { time.AfterFun