1 / 1 / 0
Регистрация: 01.11.2010
Сообщений: 216
|
||||||
1 | ||||||
Работа с потоками для 2 файлов05.06.2018, 22:19. Показов 1629. Ответов 5
Метки нет (Все метки)
Всем привет.
Мог бы кто то обьяснить хотябы на простом примере. Есть 2 файла, один открываем и читаем по блокам заданного размера, само собою юзаем поток. Читаем до конца файла. Второй поток пишет эту куски в другой файл. Получается если дошли до конца файла то наверное сообщили потоку что дальше пусто и закрываем поток. Пишу под линукс, можно юзать 14 стандарт. Как понимаю там нужны mutex и condition_values но с этим я на вы(
Спасибо большое.
0
|
05.06.2018, 22:19 | |
Ответы с готовыми решениями:
5
Обработка файлов потоками Работа с потоками Работа с потоками... Работа с потоками |
474 / 426 / 290
Регистрация: 10.03.2015
Сообщений: 1,782
|
|
05.06.2018, 22:30 | 2 |
Зачем поток, если fstream - сам файловый поток ввода/вывода.
Открываешь 1 файл для чтения ifstream fin("file1", ios::binary); Открываешь 2 файл для записи ofstream fout("file1", ios::binary); В 1 читаешь сколько надо блоков определенного размера Во 2 записываешь эти блоки или измененные.
0
|
1 / 1 / 0
Регистрация: 01.11.2010
Сообщений: 216
|
|
05.06.2018, 23:17 [ТС] | 3 |
Потому что именно надо заюзать 2 потока для чтения с файла и для записи в другой.
Просто дальше будет это разрастаться и будет дальше идти работа с потоками. Иначе я бы так давно сделал а не сидел и не ломал голову над этим))
0
|
474 / 426 / 290
Регистрация: 10.03.2015
Сообщений: 1,782
|
|
06.06.2018, 15:12 | 4 |
BlinCT, Хорошо, как происходит обмен информацией между потоками? Как поток 1 проверяет, что поток 2 считал и блок можно обрабатывать? Как синхронизируются работы потоков? Как отслеживается, что поток 1 выполнил задачу раньше потока 2?
0
|
07.06.2018, 04:31 | 5 | |||||
первый поток читает блоки из входного файла в очередь, второй пишет эти блоки из очереди в выходной файл
1
|
1 / 1 / 0
Регистрация: 01.11.2010
Сообщений: 216
|
||||||
13.06.2018, 16:32 [ТС] | 6 | |||||
В принципе сейчас в таком виде обе функции для каждого из потоков, чтение и запись
По логике цикл который надо как бы вставить это если переменная var_ или пустая или нет очередь. Но не могу понять как правильно. Добавлено через 10 минут Такая ошибка unlock of unowned mutex Но про какой мютекс идет речь я понять не смог.
0
|
13.06.2018, 16:32 | |
13.06.2018, 16:32 | |
Помогаю со студенческими работами здесь
6
работа с потоками Работа с потоками Работа с потоками Работа с потоками Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |