C# 快速创建线程
Thread T = new Thread(() =>
{
NewMethod();
});
T.Start();
ThreadPool.QueueUserWorkItem((objState) =>
{
//TODO:...
},null);
Task task = new Task(() =>
{
});
task.Start();
task.ContinueWith((t) =>
{
});
Parallel.For(0, 100, (i) =>
{
});
Parallel.ForEach(new List<int>(), (i) =>
{
;
});
Parallel.Invoke(()=> { }, () => { });
private BackgroundWorker backgroundWorker = new BackgroundWorker() { WorkerReportsProgress = true, WorkerSupportsCancellation =true };
public Form1()
{
InitializeComponent();
backgroundWorker.DoWork += BackgroundWorker_DoWork;
backgroundWorker.ProgressChanged += BackgroundWorker_ProgressChanged;
}
private void BackgroundWorker_ProgressChanged(object sender, ProgressChangedEventArgs e)
{
textBox1.Text = e.ProgressPercentage.ToString();
}
private void BackgroundWorker_DoWork(object sender, DoWorkEventArgs e)
{
for (int i = 0; i < 20; i++)
{
backgroundWorker.ReportProgress(i);
Thread.Sleep(1000);
}
}
private void button1_Click(object sender, EventArgs e)
{
backgroundWorker.RunWorkerAsync();
}