2010-08-24 7 views
5

아직 부스트 사용자가 아닙니다. 나는 그러나 가능한 한 빨리 그것에 들어가기 위해 계획하고있다. 그러나 Boost에 대해서는 거의 관심이 없습니다. 향후 이름 충돌이나 향후 C++ 0x와의 차이점이 있습니다. (어쩌면 진짜 문제는 아니지만, 예를 들어 나는 부스트 람다 구문이 꽤 못 생기고, BOOST_FOREACH가 눈을 찌른다고 생각하며, 다른 유일한 미적 개인적 견해를 찾는다.)Boost.Thread 또는 thread :: thread?

정말 TR2에 관심이 있습니다.이 라이브러리는 Boost.Threadjust::thread 라이브러리에 의해 구현 된 것 같습니다. 둘 다 앤서니 윌리엄스 (Anthony Williams)가 쓰고 유지 관리하는 것으로 보인다.

하지만 :: 스레드는 TR2와 ​​밀접하게 호환한다고 주장합니다.

나는 당신이 어느 쪽이든 나를 사용하라고 지시했는지 알고 싶었습니다. just :: thread는 무료는 아니지만 실제로 TR2와 ​​같으면 유혹을 느낍니다.

의견이 있으십니까?

답변

5

현재 리눅스에서 boost, just :: thread 라이브러리 및 gcc g ++ 4.5 컴파일러의 'experimental'C++ Ox 기능을 실험하고 있습니다. 스레딩과 관련하여 저는 제가 작성한 코드를 발견했습니다 : 스레드와 g ++ 컴파일러가 100 % 호환되도록 작성한 코드를 발견했습니다. 부스트 라이브러리 (1.43)는 앞의 두 라이브러리와 현저하게 호환되지 않습니다. 그러나 제 제작 코드에서는 부스트 라이브러리를 사용합니다.

이름 충돌은 boost, just :: thread 및 g ++ 컴파일러에서 사용 가능한 네임 스페이스를 정확하고 적절하게 사용하면 문제가되지 않습니다. 나는 C++ Ox g ++ 피쳐와 함께 그냥 문제를 일으키지 않는다. 실제로 variadic 템플릿과 같이 이러한 기능이 사용되는 just :: thread가 권장됩니다.

+0

"boost 라이브러리 (1.43)가 이전 두 라이브러리와 현저하게 호환되지 않음"이란 무엇을 의미합니까? 어떤 종류의 호환성에 대해 이야기하고 있습니까? –

+0

@Stephane : 'thread와 g ++ 컴파일러가 100 % 호환되도록 작성한 코드'; C++ Ox 아래에서 단지 :: thread에 대해 성공적으로 컴파일되고 링크되는 코드는 수정없이 C++ Ox g ++ 4.5 만 사용하여 성공적으로 컴파일 및 연결됩니다. 나는이 부스트 라이브러리와의 호환성을 달성하지 못했다. – Sam

+0

@thanx Sam. 나는 아직도 주저하고있다. 그러나 이것은 좋은 점이다 :: thread. –

4

라이브러리가 "TR2와 같다"고 말하는 것은 너무 이르다고 생각합니다. TR2는 C++ 0x 이후 으로 출시 될 예정이며 아직 출시되지 않았습니다.

그러나 Boost.Thread 라이브러리는 표준화위원회에서 개발 한 내용을 따르고 있다고 주장합니다.

부스트는 높은 품질을 약속하고 Boost 커뮤니티는 공동 작업을 통해 라이브러리를 공동으로 유지하기 때문에 Boost 라이브러리는 "원본"보다 우선적으로 선호됩니다.

현재 boost:: 네임 스페이스에있는 이름 공간이 네임 스페이스에 머물 것이므로 모든 TR2 항목은 아마도 std::tr2::으로 갈 것이므로 이름 충돌을 두려워 할 필요가 없습니다.

-1
이 시간에

최고의 조언 - 당신이 절대적으로 긴급한 필요가 없다면

, 당신은 단지 C++ 0X까지 대기에 의해 자신에게 시간과 슬픔을 많이 절약 할 수 위 :-) 아무도 먼저 정착 이것은 약 2 년이 걸릴 것입니다. 누군가가 움직이는 표적을 쫓아 가라고 요청하는 경우 먼저 돈을 보도록 요청하십시오 .--))

다른 많은 경우와 마찬가지로 "내 실제 필요가 무엇인지" ? 멀티 스레딩 개발을 배우면 C# 또는 Java로 시간을 보내는 것이 신경 쓰이는 것이 훨씬 쉬울 것입니다. 프로덕션 레벨 시스템 개발을 시작해야하는 경우에는 이미 대상 플랫폼을 알고 있으며 가능한 최상의 작업은 대상 플랫폼에서 멀티 스레딩을위한 try-by-fire lib가 무엇인지 고수하고 완전한 디버거 지원을 제공하는 것입니다 . 다시 반복하면, 전체 디버거 지원 및 통합은 스레드 토지에서의 삶의 질을 결정합니다.

부스트를 터치하는 경우 다른 부스트 - 무언가 파일 12 개와 다른 12 개의 파일에 종속되지 않도록 시간을 충분히 확보해야합니다. 그렇지 않은 경우 afficionado는 다음과 같습니다. 자동 중복 제거 탐지가 CPU 주기로 지불하고 잠재적으로 원하지 않는 간섭을 처리 할 준비가되어 있다고 주장하는 라이브러리를 만지십시오.