![]() |
|
Модераторы: Partizan, gambit |
![]()
|
|
| Tokatak |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 22.1.2013 Репутация: нет Всего: нет |
Работаю с задачей организации очереди поставщик-потребитель , в роли потребителя выступает отдельный поток.
Собственно рабочий код ниже
Проблемы возникают при попытке увеличить количество потоков запрашивающих очередь ,модифицируя метод ProducerConsumerQueue :
После отработки всей очереди не проходит Dispose и таймер продолжает тикать. Заранее спасибо за все возможные тычки моей мордой в недоработки и рекомендованные изменения. p.s. FAQ страничка http://base.vingrad.ru/NET-996 лежит Это сообщение отредактировал(а) Tokatak - 22.1.2013, 19:42 |
||||
|
|||||
| Tokatak |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 22.1.2013 Репутация: нет Всего: нет |
Частично решается добавлением
но возникает другая, не открыаются все потоки =\ |
|||
|
||||
| infarch |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 526 Регистрация: 13.3.2009 Репутация: нет Всего: 1 |
Посмотрите на неймспейс System.Collections.Concurrent - там уже есть потокобезопасная очередь и примеры ее использования думаю найдутся.
|
|||
|
||||
| Tokatak |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 22.1.2013 Репутация: нет Всего: нет |
infarch , cпасибо за наводку еще копаю, Судя по всему изобретенный велосипед не жизнеспособен.
|
|||
|
||||
| Tokatak |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 22.1.2013 Репутация: нет Всего: нет |
Найдено решение .
|
|||
|
||||
| infarch |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 526 Регистрация: 13.3.2009 Репутация: нет Всего: 1 |
Таки без велоспеда не обощлось? Чем вам не угодила ConcurrentQueue если не секрет?
|
|||
|
||||
| Tokatak |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 22.1.2013 Репутация: нет Всего: нет |
Пишу все с нуля, хотелось бы полностью отслеживать логику работы.
Тараканы , одним словом. |
|||
|
||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, Partizan, PashaPash. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | .NET для новичков | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |