![]() |
Модераторы: Partizan, gambit |
![]() ![]() ![]() |
|
Wecoyote |
|
||||
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 26.12.2009 Репутация: нет Всего: нет |
Всем привет. Бьюсь над мультипоточностью уже вторые сутки.
Заранее прошу меня извинить, описать проблему без приведения своего запутанного кода не смог. В коде приведённом ниже открываются текстовые файлы и разделяются на неповторяющиеся слова. (различные слова) В один поток все выполняется правильно и без ошибок. Если запускаю столько потоков, сколько ядер процессора - то, при одинаковых исходных данных - в результате разное количество слов, что по определению невозможно. Либо ошибка (индекс вне границ массива). Если кому-нибудь не лень разобраться в моём коде и указать на ошибку - буду весьма признателен. Класс Program.cs - здесь вызываются потоки обрабатывающие файлы:
Класс Splitter.cs - собственно обработчик:
Это сообщение отредактировал(а) Wecoyote - 18.4.2010, 06:35 |
||||
|
|||||
Heinzz |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 381 Регистрация: 12.12.2008 Где: .net Репутация: 5 Всего: 9 |
в Вашем коде не разбирался, но очень похоже на то что не синхронизированно общение с переменной счетчиком или коллекцией. Те к одной переменной без объявления ее временно закрытой нельзя обращаться из разных потоков. Если же Вы все же это делаете, используйте Increment для value type или lock для ссылочных типов.
|
|||
|
||||
![]() ![]() ![]() |
Прежде чем создать тему, посмотрите сюда: | |
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |