Task.Run
Task.Run 其實就是啟動一個新的執行緒,但這個方法有更進階的功能,蠻方便的。
XAML
為了測試 Task.Run,所以簡化 UI 的設計如下
<Window x:Class="WpfApp1.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:WpfApp1"
mc:Ignorable="d"
Title="MainWindow" Height="450" Width="800">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="50"/>
<RowDefinition/>
</Grid.RowDefinitions>
<Label Name="lbl" Grid.Row="0"/>
<Button Grid.Row="1" x:Name="btn" Click="btn_Click" Content="開始"/>
</Grid>
</Window>
一般的執行緒
由底下的代碼可以看出,啟動新執行緒後,立即執行主執行緒的 MessageBox,過了 2 秒後才彈出新執行的MessageBox。
