//线程异步按钮
private void ThreadButton_Click(object sender, RoutedEventArgs e) { new Thread(o => { var time = TestTask(); Dispatcher.BeginInvoke(DispatcherPriority.Normal, new Action
//线程池异步按钮
private void ThreadPoolButton_Click(object sender, RoutedEventArgs e) { ThreadPool.QueueUserWorkItem(s => { var time = TestTask(); Dispatcher.BeginInvoke(DispatcherPriority.Normal, new Action
//Task异步按钮
private void TaskButton_Click(object sender, RoutedEventArgs e) { var t = new Task<int>(TestTask); t.ContinueWith(p => { Dispatcher.BeginInvoke(DispatcherPriority.Normal, new Action
//await异步按钮
private async void AwaitButton_Click(object sender, RoutedEventArgs e) { Task<int> t = new Task<int>(TestTask); t.Start(); var time = await t; OutputInfo(sender as Button, time); //var time = await TestTaskAsync(); //OutputInfo(sender as Button, time); }
//线程异步性能测试
private void ThreadTest_Click(object sender, RoutedEventArgs e) { var time = AsyncTest(new Action(() => ThreadButton_Click(ThreadButton, null))); ShowTestResult(sender, time); }
//线程池异步性能测试
private void ThreadPoolTest_Click(object sender, RoutedEventArgs e) { var time = AsyncTest(new Action(() => ThreadPoolButton_Click(ThreadPoolButton, null))); ShowTestResult(sender, time); }
//Task异步性能测试
private void TaskTest_Click(object sender, RoutedEventArgs e) { var time = AsyncTest(new Action(()=> TaskButton_Click(TaskButton, null))); ShowTestResult(sender, time); }
//await异步性能测试
private void AwaitTest_Click(object sender, RoutedEventArgs e) { var time = AsyncTest(new Action(() => AwaitButton_Click(AwaitButton,null))); ShowTestResult(sender, time); }