| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > 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, то библиотека вполне безопасна...но проблемы могут возникнуть если кто-то попытается изменить данные во время чтения... " вот, блин, совсем обнаглели. трудно себе представить какая прграмма не безопасна для чтения по моему, если данные не изменяются - вообще защита и синхронизация не нужны |
| Автор: srd 31.3.2004, 16:52 |
| Нашел немного информации http://rsdn.ru/Forum/Message.aspx?mid=589036 |