Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 26.10.2016, 23:05   #1
komra2
Новичок
Джуниор
 
Регистрация: 10.04.2015
Сообщений: 733
По умолчанию Многопоточный stremreader

Есть, к примеру txt в котором есть текст построчно записанный(строки все одинаковой длинны), возможно ли многими "кусками" считывать этот текст, то есть первый стримридер считал строки от 1 до 50 строки, второй стримридер от 51 до 100-ой, потом снова первый от 101-ой до 150-ой строки ? Я не говорю про основы языка....
komra2 вне форума Ответить с цитированием
Старый 26.10.2016, 23:22   #2
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

а для одного потока вы можете написать метод чтоб читал по 50 строк ?
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 26.10.2016, 23:26   #3
komra2
Новичок
Джуниор
 
Регистрация: 10.04.2015
Сообщений: 733
По умолчанию

Цитата:
Сообщение от Пепел Феникса Посмотреть сообщение
а для одного потока вы можете написать метод чтоб читал по 50 строк ?
Для одного могу(один поток один весь документ), без проблем, но мне надо дать десятки интервалов для одного, пока не знаю, как ну я писал же уже
такой код натыкал: а как сделать то о чем спрашивал ?
Код:
foreach (var result in
            from first in File.ReadLines(@"C:\Users\LowFrequencySound\Desktop\1.txt").Take(50)
            select string.Concat(first))
            Console.WriteLine(result);
            Console.ReadKey();

Последний раз редактировалось komra2; 27.10.2016 в 00:15.
komra2 вне форума Ответить с цитированием
Старый 27.10.2016, 00:17   #4
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

вы читаете первые 50, а не каждые 50.

а вы уверены что вам надо эти по 50, причем строго подряд?
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 27.10.2016, 00:31   #5
komra2
Новичок
Джуниор
 
Регистрация: 10.04.2015
Сообщений: 733
По умолчанию

Цитата:
Сообщение от Пепел Феникса Посмотреть сообщение
вы читаете первые 50, а не каждые 50.

а вы уверены что вам надо эти по 50, причем строго подряд?
я прекрасно знаю что я написал, не дурак совсем надо бы первые 50 потом вторые 50 читает следующий file.readalllines, и потом снова 150-200 строки читает первый, если написать так типа:
File.ReadAllLines(path).Take(50).Sk ip(50).Take(50).Skip(50), "Take" можно юзать только один раз, а скип скок угодно...
иными словами надо так:
1-й:50,
2-й:пропускает 50 строк и берёт следующие 50 строк, точно, а может быть с цикле сделать... на счет цикла только щяс додумался..
мне надо чтобы как-то Take можно было юзать многократно)))

Последний раз редактировалось komra2; 27.10.2016 в 00:39.
komra2 вне форума Ответить с цитированием
Старый 27.10.2016, 01:22   #6
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Цитата:
надо бы первые 50 потом вторые 50 читает следующий file.readalllines, и потом снова 150-200 строки читает первый, если написать так типа:
и итого вы не можете даже в одном потоке прочитать по 50 строк...куда ж вы в потоки то полезли.
и для каждых 50-ти строк будете перечитывать файл с начала...ужастно.

самое банальное, это защитите ваше чтение через lock, потом залочился, прочел 50 строк(for, никаких foreach или Take), вышел их lock'а и пошел молотить, и так пока файл не кончится.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 27.10.2016, 01:33   #7
komra2
Новичок
Джуниор
 
Регистрация: 10.04.2015
Сообщений: 733
По умолчанию

Цитата:
Сообщение от Пепел Феникса Посмотреть сообщение
и для каждых 50-ти строк будете перечитывать файл с начала...ужастно.
Согласен, вы думаете что через цикл будет самое оптимальное решение ?

Последний раз редактировалось komra2; 27.10.2016 в 01:40.
komra2 вне форума Ответить с цитированием
Старый 27.10.2016, 01:46   #8
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

у вас в принципе цикл тут.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 27.10.2016, 01:53   #9
komra2
Новичок
Джуниор
 
Регистрация: 10.04.2015
Сообщений: 733
По умолчанию

да, угу, но как тогда пропустить 50 строк, цикл идет потом пропускает строки
komra2 вне форума Ответить с цитированием
Старый 27.10.2016, 02:18   #10
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

если у вас есть пропуски, значит вы снова перечитываете файл.

вы вообще читаете мои ответы?

вы не переоткрываете файл, вы читаете подряд.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Многопоточный curl nibufep PHP 2 05.04.2015 19:46
Режимы компиляции Многопоточный MT и Многопоточный DLL vasiatka Общие вопросы C/C++ 5 20.02.2014 19:56
c#. Многопоточный сервер tiger Помощь студентам 1 13.09.2012 13:24
многопоточный сервер мандарин Работа с сетью в Delphi 6 24.04.2007 07:22
Многопоточный Ping Квэнди Работа с сетью в Delphi 0 18.12.2006 15:01