Я использую канал для составления своего рода очереди для сценария продюсера/потребителя:
Производитель живет в потоке, это не 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.
Любая идея или советы для моего варианта использования будут оценены.
Я использую канал для составления своего рода очереди для сценария продюсера/потребителя: [list] [*] Производитель живет в потоке, это не 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 [/list] I notice the TryWrite call blocks... I have no Идея почему. Если я удалю звонок в TryWrite, я получаю данные в своем потоке производителя. В противном случае код никогда не выходит за рамки линии trywrite. Любая идея или советы для моего варианта использования будут оценены.