|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
08.03.2018, 21:21 | #1 |
Регистрация: 14.03.2016
Сообщений: 3
|
Запись данных из двух отдельных потоков в один файл
Как реализовать запись данных из двух отдельных потоков в один файл? Мне кажется что проще с использовать WinAPI, но не имею представления как это сделать? Заранее спасибо!
|
10.03.2018, 10:39 | #2 |
Участник клуба
Регистрация: 07.12.2011
Сообщений: 1,025
|
1. Буфер определенной глубины
2. Потоки пишут в буфер, блокируясь только при превышении глубины... 3. Поток "писатель" - ждет буфер и пишет в файл... либо в лоб - критическая секция на запись
Не стесняемся, плюсуем!
|
13.03.2018, 16:42 | #3 |
Форумчанин
Регистрация: 11.05.2013
Сообщений: 154
|
Если целостность записываемых данных не важна, то асинхронная запись вполне решает задачу, главное - чтобы файл не был заблокирован (был доступен для записи, и чтобы рабочие потоки во время работы его не занимали).
Если данные необходимо хоть как-то синхронизировать, то нужно больше информации. |
13.03.2018, 20:48 | #4 |
Программист
Участник клуба
Регистрация: 23.06.2009
Сообщений: 1,772
|
|
16.03.2018, 10:48 | #5 |
Регистрация: 24.02.2018
Сообщений: 6
|
2 пишущих потока + их синхронизация + FileMapping (для скорости и чтобы избежать блокировки записи в файл)
|
16.03.2018, 11:39 | #6 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,331
|
|
18.03.2018, 02:45 | #7 |
Регистрация: 24.02.2018
Сообщений: 6
|
Читаем мат часть про проекции файлов
тыц http://delphikingdom.com/asp/viewite...513&mode=print дрынц https://books.google.com/books?id=nV...%D0%BC&f=false Последний раз редактировалось DeveloperC; 18.03.2018 в 02:48. |
18.03.2018, 04:03 | #8 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
так которую блокировку решает мапинг?
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
18.03.2018, 12:06 | #9 |
Регистрация: 24.02.2018
Сообщений: 6
|
Файловая проекция - не есть файл, далее, к примеру посмотрите MSDN
|
18.03.2018, 13:58 | #10 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,331
|
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
ввод данных текстовых данных например (12ав23у) с клавиатуры и запись(сохранение) в файл на С:\ | zippa | Visual C++ | 18 | 14.11.2016 18:03 |
Консолидация отдельных полей отдельных файлов на один лист | Paramount | Microsoft Office Excel | 15 | 30.01.2013 17:41 |
C++. Запись двух/трехмерного массива в файл. | Noyabr | Помощь студентам | 0 | 21.01.2012 11:51 |
Копироване данных из двух листов в один. | kola672 | Microsoft Office Excel | 13 | 20.08.2010 02:00 |
Запись в один файл большого количества информации | pregmatch | Общие вопросы C/C++ | 5 | 09.03.2009 14:09 |