С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/6: Рейтинг темы: голосов - 6, средняя оценка - 5.00
1 / 1 / 1
Регистрация: 16.09.2015
Сообщений: 20

Многопоточные программы, распараллеливание при чтении файла

19.09.2015, 18:26. Показов 1466. Ответов 15
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день. Прошу помощи начинающей программистке. ))
Есть программа, считающая количество байт бинарного файла; Надо создать два потока одновременно считающие количество байт файла, первый-первой половины файла, второй-второй половины. Затем результаты потоков суммируются. Помогите пожалуйста разобраться;

Это программа, без потоков:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#include <windows.h>
#include <stdlib.h>
#include <math.h>
#include <fstream>
#include <iostream>
using namespace std;
int n=0;
 
void first()
{
     FILE *bin;
     int dat;
     bin=fopen("1.txt", "rb");
 while (fscanf(bin, "%c", &dat)!=EOF)
 {
     n++; 
 }
 
 cout << "colichestvo bait " << n << endl;
}   
int main()
{
    int start=GetTickCount();
  first();
  int end=GetTickCount();
  cout<<end-start<<endl;
  getchar();
 
  system ("pause");
    return (0);
}
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
19.09.2015, 18:26
Ответы с готовыми решениями:

Почему при чтении бинарного файла происходит экстренное завершение программы?
в Windows XP при чтение бинарного файла происходит екстренное завершение программы !!! /*Writing to a random access file */ #include...

"Нарушение прав доступа при чтении по адресу" при чтении структур из бинарного файла
Пытаюсь разобраться со структурами в бинарных файлах. Допустим, есть массив структур. Записываю его в бинарный файл (закомментированный...

Как при чтении файла проверить достигнут ли конец файла?
Как при чтении файла проверить достигнут ли конец файла? Dim Red As IO.BinaryReader Red = New...

15
267 / 170 / 40
Регистрация: 25.08.2014
Сообщений: 1,087
Записей в блоге: 1
19.09.2015, 18:30
Цитата Сообщение от Everest9 Посмотреть сообщение
количество байт файла
Размер что ли?
0
1 / 1 / 1
Регистрация: 16.09.2015
Сообщений: 20
19.09.2015, 18:40  [ТС]
Цитата Сообщение от Enno Посмотреть сообщение
Размер что ли?
посчитать его контрольную сумму(сумму всех байтов файла)
0
267 / 170 / 40
Регистрация: 25.08.2014
Сообщений: 1,087
Записей в блоге: 1
19.09.2015, 18:52
Цитата Сообщение от Everest9 Посмотреть сообщение
посчитать его контрольную сумму(сумму всех байтов файла)
Ну так напиши функцию, которая считает с нужного смещения нужное число байт. А потом в первом потоке передавай начало и половину размера, во втором середину и оставшуюся половину.
0
1 / 1 / 1
Регистрация: 16.09.2015
Сообщений: 20
19.09.2015, 19:23  [ТС]
Цитата Сообщение от Enno Посмотреть сообщение
Ну так напиши функцию, которая считает с нужного смещения нужное число байт. А потом в первом потоке передавай начало и половину размера, во втором середину и оставшуюся половину.
изначально количество байт неизвестно, как тогда задать половину файла?
0
267 / 170 / 40
Регистрация: 25.08.2014
Сообщений: 1,087
Записей в блоге: 1
19.09.2015, 19:36
Цитата Сообщение от Everest9 Посмотреть сообщение
изначально количество байт неизвестно, как тогда задать половину файла?
Так найти количество байт. Это же размер файла, ё-моё.
0
быдлокодер
 Аватар для kravam
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,705
19.09.2015, 19:47
А вот мне интересно, для создания потоков какими инструментами намерена пользоваться?
0
1 / 1 / 1
Регистрация: 16.09.2015
Сообщений: 20
28.09.2015, 09:31  [ТС]
мне тоже интересно
0
1 / 1 / 1
Регистрация: 16.09.2015
Сообщений: 20
16.11.2015, 10:17  [ТС]
С программой разобралась, если есть вопросы, обращайтесь)
1
 Аватар для Voivoid
710 / 283 / 16
Регистрация: 31.03.2013
Сообщений: 1,340
16.11.2015, 12:38
Цитата Сообщение от Everest9 Посмотреть сообщение
Надо создать два потока одновременно считающие количество байт файла
Лучше не надо В общем случае будет только медленнее. чем в один поток
0
1 / 1 / 1
Регистрация: 16.09.2015
Сообщений: 20
16.11.2015, 16:13  [ТС]
Так суть в потоках, чтобы ускорить обработку информации) Информацию поделить по кускам и каждым поток свой кусок обрабатывает
0
быдлокодер
 Аватар для kravam
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,705
17.11.2015, 18:32
Цитата Сообщение от Everest9 Посмотреть сообщение
Так суть в потоках, чтобы ускорить обработку информации) Информацию поделить по кускам и каждым поток свой кусок обрабатывает
сказано же, делай одним потоком. Время на переключение потоков не будет тратиться и программа будет работать быстрее.
0
1 / 1 / 1
Регистрация: 16.09.2015
Сообщений: 20
18.11.2015, 11:33  [ТС]
спасибо, конечно. но суть задания в создании нескольких потоков, и как я писала раньше, программа уже реализована
0
быдлокодер
 Аватар для kravam
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,705
18.11.2015, 21:14
Цитата Сообщение от Everest9 Посмотреть сообщение
спасибо, конечно. но суть задания в создании нескольких потоков, и как я писала раньше, программа уже реализована
ну молодец, дай код посмотреть.
0
 Аватар для casper007
71 / 71 / 58
Регистрация: 12.12.2013
Сообщений: 420
18.11.2015, 22:40
Ну, можно воспользоваться функцией FindFirstFile(). Она запишет в структуру WIN32_FIND_DATA информацию о файле, в которой будет находиться и размер файла.
Скорей всего это не ускорит работу программы, но тем не менее подойдет для вашей задачи, ведь вы сможете найти середину файла.
0
1 / 1 / 1
Регистрация: 16.09.2015
Сообщений: 20
20.11.2015, 14:17  [ТС]
через handle
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
20.11.2015, 14:17
Помогаю со студенческими работами здесь

Можно ли при чтении из файла элементов в список удалять эти элементы(без очистки файла)
Допустим,есть файл,в нём записаны 3 обьекта(отличаются одним параметром,по которому как раз и достаются обьекты из файла).Пусть второй...

С помощью чего пишутся многопоточные программы?
а с использованием чего осуществляется многопоточное программирование под линукс, библиотека, функции, а то я смотрел книжку, так там...

Ошибка при вызове метода класса, при чтении из файла
добрый день, пытаюсь считать данные из и запихнуть их в список в файле у меня вот такие данные a01 b10 А и Б надо запихнуть в...

fread выводит грязь при при чтении из файла
задача заключалась в том, чтобы записать содержимое файла в массив. проблема в том, что при выводе массива видно, что в конце присутствуют...

Ошибка при чтении файла
Всем привет. Пытаюсь считать из файла, который программно не создаю, создаю на диске и прописываю путь, но вылетает исключение...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
16
Ответ Создать тему
Новые блоги и статьи
сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и источниками (напряжения, ЭДС и тока). Найти токи и напряжения во всех элементах. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru