5. TaskSchedulerで、同期コンテキストを指定する。
var t = Task.Factory.StartNew(() =>
{
var s = textBox1.Text;
},
CancellationToken.None,
TaskCreationOptions.None,
TaskScheduler.FromCurrentSynchronizationContext());
6. Dispatcherを使い実行する。
◦ Invoke, BeginInvoke, InvokeAsyncなど
var t = Task.Run(() =>
{
textBox1.Dispatcher.Invoke(() =>
{
var s = textBox1.Text;
});
});
7. 優先度付キュー
◦ 優先度が高いものから実行されていく
DispatcherPriority
◦ Send
◦ Normal
◦ DataBind
◦ Render
◦ Loaded
◦ Input
◦ Background
◦ ContextIdle
◦ ApplicationIdle
◦ SystemIdle
◦ Inactive
◦ Invalid
Send
Normal
DataBind
Render
① ②
③