我想我需要一些帮助来理解Dispatcher Queue。
当新工作到达时,它会被添加到调度程序队列的开头,而当调度程序想要处理一个工作项时,它会从开头删除。
更一般地说:如果有工作,它会以先进先出的方式存储在队列中,只要没有工作就处理。
此处的 MSDN 文档指的是 aloop
和 a frame
:
The Dispatcher processes the work item queue in a loop. The loop is referred to as a frame.
但是在这种情况下,循环在哪里?对我来说,循环是对某些东西进行迭代的东西,当它到达终点时,它会重新开始。
a 的概念是frame
什么?根据 MSDN 文档,一个框架是队列中工作项的一拳?如果这是真的,应该如何使用静态方法Disptatcher.PushFrame()
?
最有趣的问题是是否有任何方法可以获取队列的当前状态,尤其是队列中有多少项。
如果之前调用的方法(并因此放入 Dispatcher 队列)被执行,然后立即从队列中删除,或者它是否持续在另一个时间段内,它是否成立?
我知道,有很多问题:-)