그래서 "C#을 통해 CLR을 읽고"이 줄은 "스레드는 CPU을 가상화하는 Windows 개념입니다."라는 오류가 발견되었습니다. 정말? 원래 Windows에서 single \ multi 스레드였습니까?
칭호에 대한 인터넷 검색이 도움이되지 않아 커뮤니티에서 도움을 얻지 못했습니다.스레드는 Windows 개념입니까?
답변
짧은 대답 : 아닙니다. 전적으로 Windows 개념이 아니며 개념은 꽤 오랫동안있었습니다.
저자가 실제로 의미하는 바는 메커니즘으로 스레딩이 .NET 프레임 워크가 아니라 Windows에서 관리되는 것입니다.
.NET 스레드는 OS 스레드에 매핑되지 않으며, 단일 스레드를 공유 할 수 있으며 심지어 장면 뒤에서 더 가벼운 무게의 파이버로 전환 할 수도 있습니다. 그것들은 실제로 .NET의 것입니다. – Blindy
C# 문서에는 아무 때나 전화를 걸 수 없다는 내용이 있습니다. 그들은 내게 OS 쓰레드처럼 보이고 행동한다. 작업 관리자도 그렇게 생각하는 것 같습니다. C#으로 2000 개의 스레드를 만들면 TM에 2001 스레드가있는 프로세스가 표시됩니다. .NET, (또는 다른 프레임 워크 또는 환경)에서 내 코드를 광섬유/녹색으로 만들려고 시도하는 것은 대단히 비우호적입니다. 나는 그것이 그것을 할 수있는 방법을 볼 수 없다. TBH. –
지금은 CLR 스레드가 OS 스레드에 매핑되지만, grapevine은 이것이 나중에 변경 될 수 있다고 알려줍니다 (또는 4.5 또는 5.0에서 이미 변경되었을 수 있음). –
아미가 이미 멀티 스레딩을했다고 생각합니다. 텍스트가 멀티 스레딩을 Windows 개념이라고도 할 수 있지만 (원래는) Windows 발명이 아니라는 의미 일 수 있습니까?
Windows에서 "스레딩"에 관해 이야기 할 때 공유 메모리 및 구현에 대한 특정 가정이 있다고 말할 수 있습니다. 실제로 임베디드 프로그래밍과 달리 Windows 프로그래밍으로 옮겨 가기 전까지는 "스레드"라는 용어를 들어 보지 못했습니다. 나는 멀티 프로세싱과 멀티 태스킹에 더 익숙했다. 그래서 그 개념은 독특하지 않았지만 그 용어가 바뀌었을 수도 있습니다. Windows 이전의 제 경험을 보면, 글로벌이 아닌 한 여러 프로세스가 메모리를 공유하지 못했습니다.
- 1. 스레드는
- 2. 스레드는 RichTextBox.Lines에
- 3. 이 각도 자습서의 '중계기'는 재스민 개념입니까?
- 4. 튜링 기계가 실제 장치 또는 가상 개념입니까?
- 5. Spring에 한정된 "classpath :"접두어는 JVM 개념입니까?
- 6. Google Bigtable은 멀티 테넌트 데이터베이스 개념입니까, 아니라?
- 7. 다형성, 오버로딩 및 재정의 같은 개념입니까?
- 8. 'mid-sprint'수용이 Agile/SCRUM의 유효한 개념입니까?
- 9. IIS7 스레드는 어떻게 할당됩니까?
- 10. GDI + 백그라운드 스레드는 무엇을합니까?
- 11. 데몬 스레드는 언제 유용합니까?
- 12. PyGTK에서 스레드는 어떻게 사용합니까?
- 13. Component.getGraphicsConfiguration 스레드는 안전한가요?
- 14. java.sql.Connection 스레드는 안전한가요?
- 15. Joiner 스레드는 안전합니까?
- 16. 무국적 세션 스레드는 안전한가요?
- 17. Lame_enc 스레드는 안전한가요?
- 18. JMS QueueSender 스레드는 안전합니까?
- 19. 스레드는 스레드 풀에서 관리합니까?
- 20. 변수가 속한 스레드는 무엇입니까?
- 21. 호출 스레드는 STA이어야합니다
- 22. MSXML4 스레드는 안전합니까?
- 23. 전경 스레드는 것을
- 24. parallel_do_feeder 스레드는 안전한가요?
- 25. 이 스레드는 안전한가요?
- 26. Blackberry의 SimpleDateFormat 스레드는 안전한가요?
- 27. 스레드는 커널 개체입니까?
- 28. 스레드는 얼마나 비쌉니까?
- 29. 스레드는 언제 종료합니까?
- 30. Hunspell 스레드는 안전한가요?
나는 책이 의미하는 바는 쓰레드가 .NET 커널이 아닌 .NET 커널에 의해 관리된다는 것이다. – MattDavey
나는이 질문이 프로그래머에 속한다고 생각하지만, 그렇다면 나는 누구인가? 프로그래머로 더 이상 이사 할 수 없다. –
이해하기 쉬운 실수입니다. 기술적으로 스레드는 운영 체제 수준의 개념입니다. O/S는 스레드를 관리합니다. C#의 맥락에서, 대다수의 경우 (Mono는 견디지 못함), O/S는 Windows가 될 것이므로,이 컨텍스트에서는 일반적으로 Windows 레벨 컨셉을 사용합니다. 쓰레기가 무엇인지에 대한 기술적이지 않은 일반적인 설명으로 받아 들여지는 것이 합리적입니다. 기술적으로 정확하지는 않지만 평균적으로 초보자는이 구별에 대해 알거나 신경 쓰지 않습니다. – David