|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
05.01.2013, 19:18 | #1 |
Форумчанин
Регистрация: 14.12.2012
Сообщений: 668
|
Многопоточность, разделяемые данные
Здравствуйте! Вопрос ,возможно, не конкретно по winapi, но рядом, потому что тот кто использует win api должен дружить с многопоточностью, имхо. Дано: -два потока, имеют разделяемый сегмент памяти (какая-нибудь структура); -первый поток читает эту структуру, а второй перезаписывает (одновременно). Вопрос: Есть ли у меня гарантия, что структура будет содержать корректные данные (идентичные тем, которые записывал второй поток). Т.е. ошибку, возможно, схватит читающий поток, но данные будут записаны правильно. Есть ли у меня такая гарантия? P.S: тот, кто не уверен, не пишите пожалуйста, очень не хочу запутаться. |
05.01.2013, 21:31 | #2 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,342
|
Нет, у вас нет таких гарантий, если только вы не используете механизмы синхронизации доступа.
|
06.01.2013, 06:46 | #3 |
Форумчанин
Регистрация: 14.12.2012
Сообщений: 668
|
Ясно, спасибо.
|
06.01.2013, 10:48 | #4 | |
Форумчанин
Регистрация: 11.07.2010
Сообщений: 914
|
А я вот считаю с точностью до наоборот.
Если корректность чтения нас не волнует, синхронизация не нужна. Это и проверить не трудно. Код:
Цитата:
|
|
06.01.2013, 11:59 | #5 |
Форумчанин
Регистрация: 14.12.2012
Сообщений: 668
|
Благодарю за пример (как-то не додумался сделать тест), попробовал, все гладко.
|
06.01.2013, 20:26 | #6 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,342
|
Беру свои слова обратно - раз вам пофиг, что вы читаете garbage тогда конечно никакой синхронизации не нужно... Только тогда зачем их вообще читать...
|
06.01.2013, 20:34 | #7 |
Форумчанин
Регистрация: 11.07.2010
Сообщений: 914
|
Я понял так, что 220Volt опасается, что пищущий поток запишет некорректно, если вдруг в это же время кто-то прочтет эти адреса. Вот и успокоил человека.
А так-то конечно трудно представить практический смысл. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Многопоточность | garyanikin | Работа с сетью в Delphi | 5 | 16.11.2012 14:24 |
многопоточность | MasterSporta | Общие вопросы C/C++ | 4 | 30.09.2011 13:27 |
Многопоточность | nats | C# (си шарп) | 5 | 25.06.2011 11:51 |
Многопоточность | alex0097 | Общие вопросы Delphi | 3 | 05.05.2011 22:46 |