Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.94/18: Рейтинг темы: голосов - 18, средняя оценка - 4.94
0 / 0 / 0
Регистрация: 11.03.2017
Сообщений: 52

Чтение файлов в несколько потоков

07.09.2017, 11:53. Показов 3613. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Как написать программу, которая построчно читает все текстовые файлы, находящиеся в папке с исполняемым файлом но для чтения файлов использовать несколько потоков? Потоки создавать знаю как, а как читать с текстов файлов и ещё потоками?
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
07.09.2017, 11:53
Ответы с готовыми решениями:

Чтение информации из файл в несколько потоков.
Нужно прочитать построчно текст из файла и передать в функцию которая выполняется в другом потоке. string domain; ...

Чтение больших файлов (несколько гигабайт)
Доброго времени! Нужно прочесть и пропарсить крупный файл весом в несколько гигабайт. Подскажите как это сделать... Заранее благодарю!

Несколько BackgroundWorker потоков
Добрый вечер. Возникла проблема с потоками BackgroundWorker. Есть код: static BackgroundWorker bw2 = new BackgroundWorker(); ...

10
Эксперт .NET
 Аватар для Rius
13163 / 7722 / 1679
Регистрация: 25.05.2015
Сообщений: 23,522
Записей в блоге: 14
07.09.2017, 12:26
DirectoryInfo.EnumerateFiles() для получения списка файлов;
PLINQ (потоки создавать специально нет необходимости);
StreamReader для чтения файлов.
0
0 / 0 / 0
Регистрация: 11.03.2017
Сообщений: 52
07.09.2017, 15:39  [ТС]
Rius, а если надо с потоками? Как?
0
Эксперт .NET
 Аватар для Rius
13163 / 7722 / 1679
Регистрация: 25.05.2015
Сообщений: 23,522
Записей в блоге: 14
07.09.2017, 20:02
Лучший ответ Сообщение было отмечено ВероникаК как решение

Решение

Так же. Коду раз в 10 больше, но смысл тот же.
Получить список файлов из DirectoryInfo. Перебирать файлы и запускать функцию чтения в потоке. Число одновременно запускаемых потоков ограничивать на разумном уровне.
0
0 / 0 / 0
Регистрация: 11.03.2017
Сообщений: 52
07.09.2017, 20:11  [ТС]
Rius, а потом после функции чтения запускать функцию которая выводит содержимое на экран , а после которая выводит в случайную позицию ?
0
Эксперт .NET
 Аватар для Rius
13163 / 7722 / 1679
Регистрация: 25.05.2015
Сообщений: 23,522
Записей в блоге: 14
07.09.2017, 20:14
А что вы этим хотите получить? В первом посте темы ничего более не сказано.
0
0 / 0 / 0
Регистрация: 11.03.2017
Сообщений: 52
07.09.2017, 20:21  [ТС]
Rius, да я знаю. Извините за мою назойливость, просто хотелось бы разобраться. Задумка была такая что, программа построчно читает все текстовые файлы, находящиеся в папке с исполняемым файлом, и после выводит содержимое на экран в случайную позицию и с различным интервалом. По скольку надо несколько потоков не совсем понятно что и где будет находиться, что читать после чего итд.
0
Эксперт .NET
 Аватар для Rius
13163 / 7722 / 1679
Регистрация: 25.05.2015
Сообщений: 23,522
Записей в блоге: 14
07.09.2017, 20:29
Цитата Сообщение от ВероникаК Посмотреть сообщение
после выводит содержимое на экран в случайную позицию и с различным интервалом
А смысл? Что это должно быть в итоге?
Типа "матрицы"?
Да и зачем потоки? Для вывода на экран производительности и одного потока хватит.
Миниатюры
Чтение файлов в несколько потоков  
0
0 / 0 / 0
Регистрация: 11.03.2017
Сообщений: 52
07.09.2017, 20:31  [ТС]
Rius, получается так)
0
Эксперт .NET
 Аватар для Rius
13163 / 7722 / 1679
Регистрация: 25.05.2015
Сообщений: 23,522
Записей в блоге: 14
07.09.2017, 20:36
Вам куча потоков (thread) точно нужна? Достаточно будет и одного Thread.
Собрать массив FileInfo вышеупомянутым методом. Из него создать список потоков StreamReader, открыть их все на чтение. Потом случайным образом выбирать поток из массива и читать строку. Завершённые потоки закрывать и удалять из списка.
0
0 / 0 / 0
Регистрация: 11.03.2017
Сообщений: 52
07.09.2017, 20:39  [ТС]
Rius, куча не нужна, просто несколько по заданию.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
07.09.2017, 20:39
Помогаю со студенческими работами здесь

Один метод и несколько потоков
как работает один метод с несколькими потоками? будет ли это каждый раз запускаться один и тот же метод или каждый раз новый (как новый...

Получение WebResponce'ов в несколько потоков
Есть некое приложение, которое берет из очереди данные, которые надо проверить в интернете. Выглядит это примерно так: public...

WebClient и скачивание в несколько потоков
Подскажите, пожалуйста, как реализовать следующее. Есть несколько прогресс баров (pb1, pb2, pb3), есть список ссылок, которые необходимо...

Несколько потоков работают с ошибкой
Всем привет. Бьюсь над мультипоточностью уже вторые сутки. Заранее прошу меня извинить, описать проблему без приведения своего...

Не выполняется бесконечный цикл в несколько потоков
using System; namespace BCL_AC_ { class Program { public static void Main(string args) { for (int i = 0; i <...


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
1С: Программный отбор элементов справочника по группе
Maks 22.03.2026
Установка программного отбора элементов справочника "Номенклатура" из модуля формы документа. В качестве фильтра для отбора справочника служит группа номенклатуры. Отбор по наименованию группы. . .
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс. Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
1С: Программный отбор элементов справочника по значению перечисления
Maks 21.03.2026
Установка программного отбора элементов справочника "Сотрудники" из модуля формы документа. В качестве фильтра для отбора служит значение перечислений. / / Событие "НачалоВыбора" реквизита на форме. . .
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru