Мне нужно знать, будут ли вызовы Control.BeginInvoke и Control.Invoke выполняться в том порядке, в котором они вызываются.
У меня есть следующий сценарий:
- Поток пользовательского интерфейса заблокирован
- Поток WCF вызывает Control.BeginInvoke
- Поток WCF вызывает Control.Invoke (или, возможно, снова BeginInvoke)
- Поток пользовательского интерфейса разблокирован
- ??
Порядок выполнения шагов 1-4 гарантированно соответствует показанному порядку (технически порядок не гарантируется таким, но вопрос, который у меня есть, актуален только в том случае, если порядок такой, как показано).
У меня есть вопрос: есть ли шанс, что вызов Invoke/BeginInvoke на шаге 3 будет выполнен до вызова BeginInvoke на шаге 2?
Кроме того, пожалуйста, не комментируйте блокировку потока пользовательского интерфейса.