goroutines가 Go의 동시성을 처리하는 방법이라는 것을 잘 알고 있지만 정규적인 멀티 스레드 서버와 레벨 트리거 epoll 및 에지 트리거 epoll을 사용하는 서버를 비교하는 테스트를 실행하고 있습니다. epoll을 만드는 방법을 알아낼 수는 있지만, 수동으로 스레드를 생성하는 방법에 대해서는 안녕하고 낮게 검색했습니다.Go에서 스레드를 수동으로 만들려면 어떻게해야합니까?
0
A
답변
1
당신은 그렇게 할 수 없습니다. Go에서는 이런 종류의 것을 제어 할 수 없습니다.
+0
... 불필요한 세부 사항을 드러내 기 때문에 동시성은 전통적으로 * 하드 *로 간주된다는 점에서 이것은 매우 좋은 의미입니다. CSP는 프로그래밍 언어가 어셈블리 코드보다 깨끗한 추상화를 제공하는 것과는 달리 동시성에 대한 명확한 추상화를 제공합니다. –
0
goroutine을 CPU 스레드에 바인딩 할 수 있습니다 : http://play.golang.org/p/mNPCyvpN2R (멀티 CPU/코어 머신에서 로컬로 실행).
관련 문제
- 1. Go에서 슬라이스로 제네릭 함수를 만들려면 어떻게해야합니까?
- 2. v8에서 다른 스레드를 만들려면 어떻게해야합니까?
- 3. 같은 클래스에 여러 스레드를 만들려면 어떻게해야합니까?
- 4. for 루프에 대해 다중 스레드를 만들려면 어떻게해야합니까?
- 5. Java에서 "이벤트 중심"백그라운드 스레드를 만들려면 어떻게해야합니까?
- 6. XPages에서 Java 클래스 스레드를 안전하게 만들려면 어떻게해야합니까?
- 7. Windows 용 C에서 멀티 스레드를 만들려면 어떻게해야합니까?
- 8. 폴링하지 않고 스레드를 대기 상태로 만들려면 어떻게해야합니까?
- 9. Django에서 내 프로젝트의 사용자를 수동으로 만들려면 어떻게해야합니까?
- 10. 레코드 편집을 위해 서명을 수동으로 만들려면 어떻게해야합니까?
- 11. Silverlight PollingDuplex 클라이언트/프록시를 수동으로 만들려면 어떻게해야합니까?
- 12. Java에서 스레드를 수동으로 중지해야합니까?
- 13. 스레드를 수동으로 마샬링
- 14. 각 실행마다 새 스레드를 만드는 Java에서 스레드 풀을 만들려면 어떻게해야합니까?
- 15. 주 스레드를 차단하지 않고 많은 수의 컨트롤을 만들려면 어떻게해야합니까?
- 16. 다른 스레드가 사용자 지정 스레드를 수정할 수 없도록 만들려면 어떻게해야합니까?
- 17. Go를 사용하여 GUI 창을 만들려면 어떻게해야합니까?
- 18. 웹 서버가 이미 스레드를 생성하면 스레드를 수동으로 만들어야하는 이유는 무엇입니까?
- 19. CodeIgniter에서 이미지를 앵커로 만들려면 어떻게해야합니까?
- 20. 펠리컨에서 콘텐츠 그리드를 만들려면 어떻게해야합니까?
- 21. 파이썬에서 수동으로 스레드를 종료하는 것이 좋은 습관입니까?
- 22. 함수에서 pyc 파일을 만들려면 어떻게해야합니까?
- 23. Windows에서 스레드를 예약하려면 어떻게해야합니까?
- 24. 스레드를 안전하게 닫으려면 어떻게해야합니까?
- 25. viewDidLoad를 수동으로 호출하려면 어떻게해야합니까?
- 26. 취소 가능한 스레드를 만들려면 AtomicBoolean이 필요합니까?
- 27. 서버를 멀티 스레드로 만들려면 어떻게해야합니까?
- 28. Go에서 룬 문자로 문자열을 반복 처리하려면 어떻게해야합니까?
- 29. Go에서 인터페이스의 루트 구현을 찾으려면 어떻게해야합니까?
- 30. Go에서 플랫폼 특정 모듈을 처리하려면 어떻게해야합니까?
Go 런타임 *은 명시 적으로 낮은 수준의 OS 스레드를 숨기고 외부 C 라이브러리와의보다 나은 통합을 허용하는 유일한 목적으로 만 일부 컨트롤을 노출합니다 (및 syscalls). 이 아이디어가 Go 런타임의 주요 목적을 무효로하기 때문에 (예를 들어 Go 런타임에 자신의 저수준 OS 관리를 사용하는 것) 작업하지 않으려 고합니다 (미세 조정 된 goroutine 예약 등). 내 말은, 당신은 다른 런타임을 만들고, Go로 작업하지 않을 것입니다. – kostix
예를 들어, C 코드 ('cgo' 또는 기타)를 통해 C 코드를 호출하고 폴링 등을 사용하여 새로운 pthread를 생성하는 등의 작업을 수행 할 수 있습니다. 실제로 실행하지는 않습니다. 코드 이동. 그래서 목적은 무엇입니까? – kostix
단지 호기심을 충족시키는 것일까 요? 질문은 이론적으로 들립니다. –