Думаю, мне нужна помощь в понимании Dispatcher Queue .
Когда поступает новая работа, она добавляется в начало очереди диспетчера, а когда диспетчер хочет обработать рабочий элемент, она удаляется с самого начала.
В более общем смысле :Если есть работа, она сохраняется в очереди в порядке FIFO и обрабатывается до тех пор, пока не останется никакой работы.
Документация MSDN здесь относится к loop
иframe
:
The Dispatcher processes the work item queue in a loop. The loop is referred to as a frame.
Но где петля в этом контексте? Для меня цикл — это что-то, что повторяется, и когда он достигает конца, он начинается снова.
И что такое концепция frame
? Согласно документации MSDN, фрейм представляет собой набор рабочих элементов внутри очереди? Если это так, как следует использовать статический метод Disptatcher.PushFrame()
?
И самый интересный вопрос заключается в том, есть ли способ получить текущее состояние очереди, особенно количество элементов в очереди.
Сохраняется ли это, если метод, который был вызван до (и поэтому помещен в очередь Dispatcher ), выполняется, что он затем немедленно удаляется из очереди, или он сохраняется внутри в течение другого периода времени?
Я знаю, так много вопросов:-)