저는 C로 조이스틱 라이브러리를 작성 중이므로 스레드를 안전하게 만들고 싶습니다. pthread 뮤텍스를 사용해도 괜찮습니까? 내 라이브러리를 사용하는 응용 프로그램이 ACE를 스레드 프레임 워크로 사용하는 경우에도 작동합니까 (ACE가 pthread를 확장하지 않을지는 모르지만 그렇지 않다고 가정합시다)?다른 스레드 프레임 워크와 pthread 뮤텍스를 사용하십시오.
Windows와 동일 : mingw + gcc의 pthread와 함께 Windows 'CriticalSection
을 사용할 수 있습니까? 또는 OS가 수행해야하는 작업을 스레딩하여 원시 구현이 항상 사용되도록합니다 (Linux의 경우 pthread, Windows의 경우 CriticalSection
).
궁극적으로 뮤텍스 기능은 OS 커널에 의해 낮은 수준에서 제공되어야합니다. Mingw + gcc는 pthread의 뮤텍스를 구현하기 위해 Window의 기본 잠금을 사용해야합니다. 나는 이것이 효과가 있다고 생각하는 경향이 있습니다. –
@EzequielMuns 뮤텍스는 OS에서 제공 할 필요가 없습니다. 스핀 잠금 장치는 사용자 수준에서 완전히 발생합니다. – chrisaycock