운영 체제에서 스레드를 사용할 수있는 방법의 특성을 이해하면 이점이 있습니까? 예를 들어, Java에서 집중적 인 CPU 계산에 사용된다는 것을 나타내는 새 스레드를 만들 때 I/O가 차단됩니다. 이것이 능력이라면 스레드 스케줄링이 개선되지 않겠습니까?운영 체제가 스레드 사용 방법의 특성을 이해하면 이점이 있습니까?
답변
OS가 스레드가 I/O 또는 계산이라는 정보를 실제로 기대하고 있는지 확실하지 않습니다. 실제로 스레드가 스케줄링되는 방식 (즉, 스레드 우선 순위 및 스레드 CPU 선호도)에 가장 큰 차이를 만드는 것은 API에 의해 이미 노출되어 있습니다 (NUMA 측면에 대한 지원도 주류 OS API에 나타나기 시작합니다).
"계산 스레드"는 백그라운드 처리를하고 GUI 스레드 (응용 프로그램의 응답 속도를 유지하는 관점)보다 덜 중요하다는 것을 의미 할 수 있습니다. 아마도 가장 유용한 것은 사용자의 우선 순위를 낮추는 것입니다. 스레드를 조금 계산해라.
이것이 바로 OS 프로세스의 기능입니다. 운영 체제는 프로세스에 대한 정교한 스케줄링을 가지고 있습니다. OS는 I/O 사용과 CPU 사용을 추적하고 우선 순위를 동적으로 조정하여 CPU를 많이 사용하는 처리가 I/O를 방해하지 않도록합니다.
이러한 기능을 사용하려면 적절한 OS 프로세스를 사용하십시오.
심지어 필요한가요? I/O에서 스레드를 차단하면 CPU를 많이 사용하는 스레드가 실행됩니다. 운영 체제가 스레드를 예약하는 방법을 결정합니다. AFAIK에는 Java에 대한 힌트를 줄 수있는 방법이 없습니다.
네, 특히 창문에 많은 스레드를 열어 놓는 건축가 중 한 명이라면 특별히 이해해야합니다.
Wintellect의 Jeff Richter over는 PowerThreading이라는 라이브러리가 있습니다. .NET에서 응용 프로그램을 개발하는 경우 매우 유용하지만 JAVA에 대해 이야기하고 있으므로 OS 스레드, 커널 모델 및 인터럽트 작동 방식을 이해하는 것이 좋습니다.
- 1. 운영 체제가 추상화되어 있습니까?
- 2. 운영 체제가 필요없는 .NET CLR?
- 3. TLB 플러시를 최소화하기 위해 운영 체제가 얼마나 힘들습니까?
- 4. 어떤 운영 체제가 메모리 누수를 없애 냅니까?
- 5. 운영 체제가 고유 한 파일 핸들을 만드는 방법은 무엇입니까?
- 6. "장치"에 운영 체제가 필요한지 여부를 결정하는 방법
- 7. 모든 운영 체제가 malloc()에 대한 버퍼링을 구현합니까?
- 8. 어떻게 자바를 사용하여 단일 스레드 운영 체제에서 멀티 스레드를 구현해야합니까?
- 9. 특성을 속성 인수로 사용
- 10. 운영 체제 인터럽트
- 11. 실시간 임베디드 운영 체제 용 스레드 스케줄러
- 12. 임베디드 운영 체제 비교?
- 13. Windows CE 운영 체제가 특정 프로세서 유형 (예 : ARMV4/ARMV4I/ARMV4T)에 대해 빌드되었는지 런타임에서 결정
- 14. 여기에 멀티 코어 이점이 있습니까?
- 15. 틱없는 운영 체제에서 틱의 길이
- 16. 탭 전환 방법의 차이점
- 17. 동일한 소켓에 하나의 쓰기 스레드, 하나의 읽기 스레드가 있습니까?
- 18. AJAX vs AAHAH 성능 이점이 있습니까?
- 19. C#에서 인터페이스를 사용하면 어떤 이점이 있습니까?
- 20. win7을 dev-machine 운영 체제로 사용 하시겠습니까?
- 21. 속성을 정의하는 "새로운"방법의 또 다른 이점이나 단점이 있습니까?
- 22. 응용 프로그램 데이터베이스를 사용 패턴으로 나누면 이점이 있습니까?
- 23. 파이썬에서 정적 메서드를 사용하면 어떤 이점이 있습니까?
- 24. NSOperation 기본 방법의 NSTimer?
- 25. 이 방법의 코드는 어디에 있습니까
- 26. 스레드 및 패턴 사용
- 27. Java - GUI에서 스레드 사용
- 28. System.Configuration의 스레드 안전 사용
- 29. Pygtk의 스레드 사용
- 30. MSBuild를 사용하면 어떤 이점이 있습니까?
운영 체제 스레드 스케줄러에 대해 응용 프로그램이 "영향력"을 더 발휘할 수있는 능력이 좋은 생각입니다. 어쩌면 문제는이 기능이 존재하는지, 응용 프로그램이 악용하려는 스레드 우선 순위 이외의 특성일까요? – McGovernTheory