我想在不阻塞线程的情况下侦听集合的更改流。
在下面的代码中,ForEachAsync 将永远阻塞,并在更改发生时对其进行处理。
using (var cursor = await collection.WatchAsync())
{
await cursor.ForEachAsync(change =>
{
// process change event
});
}
我已尝试删除“await”并将任务存储在变量中,但是在我实际等待或之前不会处理任何更改。稍后等待() 任务。
我希望即使我不等待任务,事件仍然会被处理。
我该怎么办,这样我的整个程序就不会阻止侦听更改?我正在考虑将功能包装在新线程中,但这真的有必要吗?
慕运维8079593
繁花如伊
相关分类