Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Общие вопросы > STL в многопоточном приложении


Автор: srd 10.3.2004, 04:58
Если выбрать в настройках проекта многопоточную версию C Runtime Library, то распространяется ли это и на STL? Т.е. если в программе есть два потока, каждый из которых пишет в файл с помощью одного объекта ofstream, то надо ли дополнительно заботиться о синхронизации?

Автор: bel_nikita 23.3.2004, 12:49
Довольно интересный топик.
Может кто-нить что-нить ответит по этому поводу?
Аль ссылочку какую-нить.

Автор: bilbobagginz 24.3.2004, 19:42
потому как STL не привязан к ОС, а "thread" и т.д. - привязаны,
то STL как библиотека шаблонов _не_должен_ быть защищённым от проблем
синхронизации. т.е. ответ - НЕТ. небезопасна.
но можно создать дополнение в зависимости от ОСи.

мне понравилось интересное сообщение на http://www.mvps.org/vcfaq/lang/8.htm:
вопрос: безопасна ли STL к-рая даётся с мелко-мягким VC++ v в многопотоковых апликациях ?
ответ: ну вопрос канешна интересный, вы знаете ответ несколько непростой, он таков - если вы хотите читать из многих потоков данные из объектов созданных на этой STL, то библиотека вполне безопасна...но проблемы могут возникнуть если кто-то попытается изменить данные во время чтения... "

вот, блин, совсем обнаглели.
трудно себе представить какая прграмма не безопасна для чтения smile.gif
по моему, если данные не изменяются - вообще защита и синхронизация не нужны smile.gif

Автор: srd 31.3.2004, 16:52
Нашел немного информации http://rsdn.ru/Forum/Message.aspx?mid=589036

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)