멀티스레드에서 STL string쓰면 위험한가요?

goldedit의 이미지

멀티스레드로 프로그램을 짜고 있는데요

STL string을 쓰면 안되는지

궂이 사용 하겠다면 어떻게 해야 스레드 세이프하게 쓰는거조?

아시는분 꼭 좀 알려주세요 ㅠ_ㅠ

버려진의 이미지

stl은 thread safe합니다.

서버에서 사용되기도 합니다.

winner의 이미지

Scott Meyers 의 Effective STL 에서 STL 은 어찌보면 구식이고, 고전적이라는 말이 기억나네요.

STL 은 thread 에 대한 생각이 고려되어 있지 않습니다.
SGI STL 은 thread safe 하다는 말이 있습니다만 사실 없다고 해도 무방합니다. -_-.
STL 은 C++ 표준에 포함되었는데, 사실 programming language 표준에서 thread 를 생각한다는 것은 지나친 것인지도 모르겠습니다.

http://www.sgi.com/tech/stl/thread_safety.html

OS 를 공부하셨다면 Mutex, Semaphore 는 아실 겁니다.

그럼 열심히...

음.. 윗분이 thread safe 하다고 말씀하셨는데 정적객체를 사용하지 않는다는 정도로 아시면 될겁니다.

버려진의 이미지

http://www.gurm.net/STL_doc/FAQ.html

이것도.. :)

Quote:

Is the SGI STL thread safe?
Yes. However, you should be aware that not everyone uses the phrase "thread safe" the same way.