在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
//线程异步按钮 private void ThreadButton_Click(object sender, RoutedEventArgs e) { new Thread(o => { var time = TestTask(); Dispatcher.BeginInvoke(DispatcherPriority.Normal, new Action<Button, int>(OutputInfo), sender as Button, time); }) { IsBackground = true } .Start(); }
//线程池异步按钮 private void ThreadPoolButton_Click(object sender, RoutedEventArgs e) { ThreadPool.QueueUserWorkItem(s => { var time = TestTask(); Dispatcher.BeginInvoke(DispatcherPriority.Normal, new Action<Button, int>(OutputInfo), sender as Button, time); }); }
//Task异步按钮 private void TaskButton_Click(object sender, RoutedEventArgs e) { var t = new Task<int>(TestTask); t.ContinueWith(p => { Dispatcher.BeginInvoke(DispatcherPriority.Normal, new Action<Button, int>(OutputInfo), sender as Button, p.Result); }); t.Start(); }
//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); }
|
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论