 |
C# Многопоточность - Вопросы и ответы, обсуждения - Ваши вопросы по C# только в данном разделе |
06.04.2014, 14:25
|
#1
|
|
|
|
Пехотинец
|
 Регистрация: 27.11.2010
 Сообщений: 84
 Популярность: -1831
 Сказал(а) спасибо: 249
Поблагодарили 57 раз(а) в 27 сообщениях
|
C# Многопоточность
Прочитал множество статей о многопоточности, но все равно одно не понятно.
Например если мы пишем брутфорс с 10 потоками. Мы создаем эти 10 потоков и каждый поток уже берет первую строку из файла, удаляет ее и чекает. Но как сделать так, чтобы чтобы они не конфликтили между собой?
Или встречный вопрос, как создавать потоки, выдавая эту самую строку из файла, а после того, как они ее прочекали - следующую.
P.S. Извините если туплю, впервые пытаюсь разобраться с многопоточностью, без многопоточности все работает, но это нельзя назвать "брутфорсом".
|
|
|
06.04.2014, 14:48
|
#2
|
|
|
|
Сержант
|
 Регистрация: 18.07.2013
 Сообщений: 148
 Популярность: 84352
 Сказал(а) спасибо: 566
Поблагодарили 258 раз(а) в 195 сообщениях
|
Re: C# Многопоточность
Потоки необходимо синхронизировать. В вашем случае можно в критической секции брать первую строку, а затем либо удалять её(но при неудаче возвращать), либо следить отдельным массивом данных, где будет указано - аккаунт проверен\не проверен\в процессе проверки
|
|
|
Пользователь сказал cпасибо:
|
|
06.04.2014, 17:48
|
#3
|
|
|
|
Сержант
|
 Регистрация: 01.10.2011
 Сообщений: 128
 Популярность: 5723
 Сказал(а) спасибо: 25
Поблагодарили 174 раз(а) в 105 сообщениях
|
Re: C# Многопоточность
Простейший способ
Код:
object sync = new object();
IEnumerable<string> ReadStream(Stream stream)
{
using(StreamReader sr = new Streamreader(stream)
{
while(!sr.EndOfStream)
lock(sync)
yield return sr.ReadLine();
}
}
Дальше можно работать с получившимся перечислением как душе угодно
________________
Talk is cheap. Show me the code
— Linus Torvalds
|
|
|
2 пользователя(ей) сказали cпасибо:
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Похожие темы
|
Тема |
Автор |
Раздел |
Ответов |
Последнее сообщение |
[Помогите!] Многопоточность C#
|
sith999 |
Вопросы и ответы, обсуждения |
1 |
31.03.2013 10:38 |
Многопоточность
|
Realizt |
Вопросы и ответы, обсуждения |
15 |
28.11.2012 18:33 |
[Помогите!] Многопоточность
|
=PaLeTiZaToR= |
Вопросы и ответы, обсуждения |
0 |
09.10.2012 22:03 |
C# Многопоточность
|
thezoke |
C# |
11 |
28.03.2012 00:55 |
Заявление об ответственности / Список мошенников
Часовой пояс GMT +4, время: 17:59.
|
 |