0 / 0 / 0
Регистрация: 10.02.2016
Сообщений: 2
|
|||||||||||
1 | |||||||||||
Синхронизация10.02.2016, 11:33. Показов 433. Ответов 4
Метки нет (Все метки)
Помогите! Препод меня одолел! Работу я выполнил, но я никак не могу найти ответ на вопрос: в чём проблема одновременного выполнения в представленном коде (Ошибочная версия) сразу двух операций ввода-вывода? Ведь они смогут работать параллельно и, теоретически, могли бы выполниться быстрее. О каких именно общих структурах данных идёт речь в программе и что бы вы описали мне сценарий при котором программа при отсутствии синхронизации "портила" бы эти структуры и, соответственно, некорректно работала.
Ошибочная версия:
0
|
10.02.2016, 11:33 | |
Ответы с готовыми решениями:
4
Синхронизация Mutex - синхронизация Синхронизация потоков Синхронизация потоков |
Ушел с форума
|
|
10.02.2016, 11:56 | 2 |
Просто прочти внимательно на MSDN описание функции WriteFile.
Там, в числе прочего, достаточно написано про асинхронный ввод-вывод и связанные с ним ограничения.
0
|
0 / 0 / 0
Регистрация: 10.02.2016
Сообщений: 2
|
|
16.02.2016, 15:28 [ТС] | 3 |
А где на этом сайте конкретно? Я чет не могу найти.
0
|
Ушел с форума
|
|
16.02.2016, 16:17 | 4 |
Идешь в Гугл, вбиваешь в поиск "WriteFile".
Интересующая ссылка, которая ведет на MSDN, будет, как правило, одной из первых.
0
|
15 / 9 / 12
Регистрация: 03.12.2015
Сообщений: 79
|
|
16.02.2016, 16:43 | 5 |
777666,
Мне кажется, что тут дело вот в этом "Because the write operation starts at the offset that is specified in the OVERLAPPED structure, and WriteFile may return before the system-level write operation is complete (write pending), neither the offset nor any other part of the structure should be modified, freed, or reused by the application until the event is signaled (that is, the write completes)." Ты используешь writefile для асинхронной записи, так сказать. Файл ещё не записан. А ты уже успел вернуться из функции изменить структуру overlapped и запустил запись ещё раз (а структура ещё нужна первой операции вывода). В итоге получишь одновременную запись в одну и ту же память или вообще какую-нибудь фигню. P.S. приведённая цитата как раз из msdn, который советовал Убеждённый. Подзаголовок "Synchronization and File Position".
0
|
16.02.2016, 16:43 | |
16.02.2016, 16:43 | |
Помогаю со студенческими работами здесь
5
Синхронизация потоков Синхронизация потоков Синхронизация приложений Синхронизация потоков Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |