Сценарий производителя/потребителя с потоком и асинхронным в другом потокеC#

Место общения программистов C#
Anonymous
Сценарий производителя/потребителя с потоком и асинхронным в другом потоке

Сообщение Anonymous »

Я использую канал для составления своего рода очереди для сценария продюсера/потребителя:
  • Производитель живет в потоке, это не Async-совместимый код (взаимодействие устройства из библиотеки производителей)
  • Жизнь потребителей в моем приложении, все код ASINC












  • />I thought a Channel would be a good fit for this use case.

    Channel is unbounded
  • producer calls TryWrite
  • consumer has a while loop and continuously calls ReadAsync
I notice the TryWrite call blocks... I have no Идея почему. Если я удалю звонок в TryWrite, я получаю данные в своем потоке производителя. В противном случае код никогда не выходит за рамки линии trywrite. < /P>
Это, вероятно, глупая ошибка, но ... не могу понять. Поток вручную, и я не контролирую это. Мой код выполняется в обратном вызове, вызванный кодом библиотеки устройств
[*] Я не даю никакой опции каналу
[*] ОК, я буду отлаживать его больше, когда вернусь к этому, но во -первых, я задавался вопросом, хорош ли канал для этого варианта использования

any Ideat

Подробнее здесь: https://stackoverflow.com/questions/797 ... her-thread

Вернуться в «C#»