2011-10-25 5 views
1

나는 BlockingQueue posted in a different SO question의 버전을 구현하기 위해 scoped_lockmutex을 사용하고 있지만, 두 가지 모두에 대해 여러 가지 다른 미리 컴파일 된 헤더가 있습니다. boost :: signals2 :: mutex와 boost :: thread :: mutex의 차이점은 무엇입니까?

scoped_lock

는 "부스트/간/동기화/scoped_lock.hpp"와 "부스트/실/mutex.hpp"

mutex는 "부스트/실/mutex.hpp"를 통해 사용할 수 있습니다, "부스트 /를 통해 사용할 수 있습니다 signals2/mutex.hpp "와"boost/thread/win32/mutex.hpp "

"win32/mutex.hpp "는 어떻게 든 windows에 최적화되어 있다고 생각할 수 있습니다. 그들 사이의 차이점은 무엇입니까?

답변

2

signals2 :: mutex는 signals2 라이브러리의 일부이므로 아마도 해당 라이브러리에 대한 특수 목적의 뮤텍스 일 것입니다.

일반 뮤텍스는 "boost/thread/mutex.hpp"이며 일반 사용자가 사용해야합니다. "win32"버전은 일반 파일에 의해 자동으로 포함되며 윈도우에 뮤텍스 코드를 포함합니다. 즉, 일반 헤더는 OS 특정 클래스의 래퍼입니다.

+0

정말 혼란스러워졌습니다! 안개를 해결해 주셔서 감사합니다! – Kiril