갑자기 쓰레드에 관련된 이야기가 나와서, 어리 둥절했었다. 이번 항목은 쓰레드간의 안전한 공유를 위한 코딩의 시기와 방식을 어떻게 결정하는지에 대해서 이야기 한다. 이번 주제에 대해서 이야기 하기전에 비유가 되는 한가지 이야기를 생각해 봤다. 어느 마을에 의자를 아주 잘 만드는 사람이 있었다. 그 사람은 구현자이다. 구현자는 의자를 만들때 아주 깔끔하고 튼튼하게 만들기로 유명하다. 구현자가 만든 의자는 호출자에 의해 운반되어 시장에 팔린다. 사람들은 호출자가 운반한 의자가 구현자가 만든 것임을 알고 있기에 의심치 않고 구매를 한다. 어느날 호출자는 다른 시장에도 의자를 팔기 위해서 구현자에게 의자를 더 만들어 달라고 요청을 했고, 구현자는 사람들을 고용하여 의자를 더 만들었다. 다음날 호출자는 일상대로 ..
쓰레드 안전성 검색 결과
해당 글 2건
항목 12 : 안전한 공유를 위한 코딩의 시기와 방식을 결정하라. ( Know when and how to code for concurrency. )
책 정리/C++ Coding Standards : C++ 코딩의 정석
2009. 2. 14. 22:37
항목 12 : STL 컨테이너의 쓰레드 안전성에 대한 기대는 현실에 맞추어 가지자.
표준 STL에서 쓰레드 안전성을 갖춘 컨테이너가 없다는 것에 놀라지는 않는다. 나도 지금에서야 쓰레드 개념을 잡았으니.. 할말 없지 뭐, 지금은 다중 쓰레드 기반 프로그램이 많기 때문에, 이번 항목은 STL 컨테이너가 다중 쓰레딩 지원을 할수 있도록 요령을 가르쳐 준다. STL 컨테이너의 다중 쓰레드 지원 방법은 SGI(실리콘 그래픽스) 재정한 방식이 가장 좋다고 하고, 필자는 이중 두가지 핵심을 뽑아 말해 준다. 여러 쓰레드에서 읽는 것은 안전해야 한다.여러 쓰레드에서 다른 컨테이너에 쓰는 것은 안전해야 한다. 말처럼 쉽지만은 않기 때문에, 세부적인 기능(어떻게 해야 하는가?)에 어떤것을 두어야 할지 필자는 설명한다. 컨테이너의 멤버 함수를 호출하는 시간 동안 컨테이너에 락 걸기컨테이너가 만들어 내어 ..
책 정리/Effective STL
2008. 7. 15. 09:02
최근댓글