C/C++에서 사용자 수준 스레드 (ULT)의 OS 독립적 스레딩 모델을 구현할 수 있습니까? 즉, 프로세스를 논리적으로 ULT로 분해하고 이들 사이에 스위치를 동적으로 만들 수 있습니까?OS 독립적 인 C++ 스레딩?
답변
Boost.Thread는 플랫폼 간 스레딩에 상당한 양의 추상화를 제공합니다.
그리고 곧 나오는 C++ 0x 표준에 따르면 자동적으로'std :: thread'와 OS에 독립적 인 쓰레드가 있습니다. –
오, 이걸 알고있어. 그래서 자바와 같은 언어 기능이 될 것입니까? – mihsathe
@mihsathe, 예. –
OpenMP는 많은 일반적인 사용 사례에 대해 스레드를 처리하는 좋은 방법입니다.
POSIX 스레드 만 사용하십시오. Windows를 지원해야하는 경우 Windows를 합리적으로 준수하는 구현이 있습니다.
C에서는 약간의 이식성 (POSIX 필요) 사용자 레벨 스레딩 라이브러리는 GNU Pth입니다. 우선 순위 대신 협력을 사용하고 사용자 공간에서 스레드 단위 스택 및 기타 구조를 구현합니다. 예상대로 이것은 이 아니며은 OS 수준 스레딩과 동일한 성능 특성을 제공합니다. 그러나 동일한 추상화를 제공합니다. 윈도우 7에
이 라이브러리의 이식성에 대한 주장은 내가 마지막으로 확인한 마지막 우스운 일이었습니다. –
자신의 사용자 모드 스케줄러 구현하는 방법이있다 : http://msdn.microsoft.com/en-us/library/dd627187%28v=vs.85%29.aspx
이 사용자 모드 스케줄러와 가장 좋은 방법을 사용하여 사용자 모드 스레드 프로세스 탐색기 개방되어 있는지 확인 할 수있는 API가 basecally입니다 및 커널 시간 0을 참조하십시오.
실제로 UMS를 성공적으로 구현 한 사람들을 알고 있지만, Microsoft는 API에서 몇 가지 오류를보고했습니다. . .
ZThread는 크로스 플랫폼 C++ 라이브러리입니다.
C++ 2에서 생각해 보면이 라이브러리를 사용하여 멀티 스레딩 응용 프로그램을 설명합니다.
- 1. 시간 경과를 계산하기위한 OS 독립적 인 C 라이브러리?
- 2. C++에서 OS 독립적 경로를 생성하는 방법
- 3. C++ : 플랫폼 독립적 인 게임 라이브러리?
- 4. 두 개의 독립적 인 응용 프로그램 (C#)
- 5. 설치 독립적 인 Visual C++ 프로젝트 속성
- 6. 독립적 인 개인 세션
- 7. 독립적 인 더블 피커
- 8. 플랫폼 독립적 인 수학 라이브러리
- 9. 데이터 독립적 인 UI로드 방법
- 10. 로케일 독립적 인 strtod 구현
- 11. Python을 사용하는 OS 독립적 인쇄
- 12. 비주얼 스타일 독립적 인 드로잉
- 13. WPF/C#에서 비효율적 인 스레딩 방식입니까?
- 14. 운영체제 독립적 인 장소에서 파이썬으로 설정 파일로드하기
- 15. 플랫폼 독립적 인 바이너리 파일 I/O를위한 C/C++ 라이브러리
- 16. IDE 독립적 인 수은 리포지토리
- 17. 플랫폼 독립적 인 이클립스 설정
- 18. 브라우저 독립적 인 읽기 전용?
- 19. bash와 독립적 인 프로세스 만들기
- 20. 언어 독립적 인 로직 질문
- 21. Joomla - 독립적 인 SQL 쿼리
- 22. 플랫폼 독립적 인 키 코드 제공 방법
- 23. 플랫폼 독립적 인 데이터를 처리하기위한 C# 서버 설계?
- 24. Python 수학 라이브러리 C 수학 라이브러리 및 플랫폼 독립적 인?
- 25. OS 독립적 키보드 이벤트를 문자 매핑
- 26. 스레딩 C#
- 27. 스레딩 C
- 28. C# 스레딩
- 29. Python에서 경로 나 URL을 OS 독립적 인 방식으로 정규화/축소 할 수 있습니까?
- 30. 플랫폼 독립적 인 퍼멀 링크 - 모범 사례?
내가 물었을 때 내가 무엇을 가지고 있는지 볼 수 있습니다. http://stackoverflow.com/questions/4298986/is-there-something-to-replace-the-ucontext-h-functions – zneak