goroutine

    0

    2답변

    이러한 상황을 고려하십시오. 하나의 메인 goroutine과 10 개의 자회사 골 루틴이 있습니다. 모두가 channel에 액세스 할 수 있습니다. 메인 채널은 1000 숫자를이 채널에 보내고 보조 채널은 숫자를 읽습니다. 각 보조 goroutine이 정확하게 100 개의 숫자를 읽는다는 보장이 있습니까? 아니면이 수치는 일부 goroutine이 99 숫자

    1

    2답변

    함수 조각을 루프 처리하고 함수의 모든 함수를 호출하려고합니다. 그러나 나는 이상한 결과를 얻고있다. 여기 내 코드입니다 : 나는 그것이 기능 A를 호출 할 것이라고 생각했다 package main import ( "fmt" "sync" ) func A() { fmt.Println("A") } func B() {

    1

    1답변

    현재 검색 엔진 프로젝트를 진행하고 있습니다. 빠른 크롤링 속도를 위해 링크 방문 당 하나의 goroutine을 사용합니다. 하지만 두 가지 문제가있어서 나를 궁금해하게 만들었습니다! package main import "fmt" import "sync" import "time" type test struct { running int

    1

    2답변

    이 blog post에 설명 된대로 파이프 및 필터 패턴을 사용하고 있습니다. 이 문제를 효과적으로 테스트하는 방법에 대해 궁금합니다. 내 생각은 각 필터를 독립적으로 테스트하는 것이 었습니다. 예를 들어, 다음과 같은 필터가 있습니다. func watchTemperature(ctx context.Context, inStream <-chan int) {

    0

    1답변

    Im new to go and goroutines를 사용하는 간단한 재귀 알고리즘을 작성하려고합니다. 내가 goroutine에서 출력을 수신하기 위해 채널을 사용하고 있지만 그렇게하려고하면 "치명적인 오류가 발생합니다 : 모든 goroutines은 잠들고 있습니다 - 교착 상태입니다!" 오류. 채널 코드를 모두 주석 처리하면 모든 것이 올바르게 실행됩니다.

    0

    1답변

    다음 Go 코드 예에서는 c <- byte(0)과 close(c) 사이의 경쟁 조건이 있습니다. 코드가 go test -race으로 실행되면 신호가 보내집니다. func TestRace(t *testing.T) { var c = make(chan byte, 20) go func() { defer func() { if

    1

    1답변

    생성자로 활용되는 두 개의 읽기 전용 채널 <-chan Event이 있습니다. 내가 덜 time 필드와 Event를 선택해야합니다, 그래서 내가 이벤트 중심의 시뮬레이션 그 채널을 사용 for { select { case <-chan1: // do something case <-chan2: //do somet

    1

    1답변

    나는 모든 파일을 폴더 링크에서 스캔하고 자신의 콘텐츠와 이름을 기반으로하는 정규식을 사용하여 자신의 크기로 "톱 10"을 만드는 코드를 만들려고합니다. 파일. 내용으로 볼 때, 나는 goroutine으로 채널을 만들었지 만, 내 goroutine이 잠길 때마다 이유를 이해하지 못합니다. 여기 package main import ( "flag"

    0

    1답변

    Go https://gobyexample.com/execing-processes에서 exec에 관해 읽었으며 goroutines를 사용하여 동일한 작업을 시도했습니다. 다음 코드에서는 Go를 ls으로 실행하고 주 스레드에서 성공 메시지를 인쇄하려고합니다. 그러나, 그것은 단지 ls를 출력하지만 성공 메시지는 출력하지 않습니다. 무슨 일 이니? 감사합니다.

    0

    2답변

    무한 수의 값을 생성 할 수있는 goroutine이 있지만 각 값을 찾기 위해 점점 길어집니다. 시간 제한을 추가하는 방법을 찾으려고합니다. 예를 들어 10 초가 지나면 지금까지받은 함수 중에서 가장 좋은 값을 가진 함수가 실행됩니다. 이것은 채널과 타이머를 사용하여 내 현재 "솔루션"입니다 : // the goroutine which runs infini