线程是进程的基本组成单位,进程是操作系统分配资源的基本单位,每一个正在运行的应用程序都是一个进程,操作系统使用进程将正在执行的不同应用程序分开,一个进程包含多个线程,线程是操作系统进行调度和执行的基本单位,操作系统以线程为单位进行处理器的时间片分配。在.net framework 4之前多线程都是通过Thread来实现,从.net framework 4开始提出任务(Task)的概念,下面就是多任务的简单练习。
一个任务由任务ID唯一标识,任务ID在使用的时候才创建,也就是说,一个任务每次执行时可能会有不一样的ID,可以随时访问任务的Status属性。它是一个枚举类型。
前台布局,只需一个标签,显示就行。
<Grid Background="{StaticResource ApplicationPageBackgroundThemeBrush}">
<TextBlock Name="txt" Text="信息" FontSize="30" Margin="400,200"></TextBlock>
</Grid>
private void UpdateUI(string message)
{
var ignore = this.Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal, () =>
{
txt.Text += message;
});
}
/// <summary>
/// 创建任务
/// </summary>
protected void CreateTask()
{
var taskA = new Task(() => UpdateUI("这是任务A"));
taskA.Start();
var taskB = Task.Run(() => UpdateUI("这是任务B"));
var taskC = Task.Factory.StartNew(() => UpdateUI("这是任务C"));
var taskE = new Task(() => UpdateUI("这是任务E"));
taskE.Start();
var taskF = Task.Run(() => UpdateUI("这是任务F"));
var taskG = Task.Factory.StartNew(() => UpdateUI("这是任务G"));
}
public MainPage()
{
this.InitializeComponent();
CreateTask();
}