我有一个包含一些表单,类和方法的项目。有些方法有很多进程,我在方法上进行线程处理,工作正常。 那么,我如何在表单的GUI上进行多线程或并行处理? 我这样做是因为当方法作为GUI(如表单和另一个控件)运行时,它很慢。 我在Program类中编写了这段代码但有问题:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Windows.Forms;
using System.Threading;
namespace WindowsFormsApplication1
{
static class Program
{
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Parallel.Do(
delegate()
{
job();
}
);
}
public delegate void mydelegate();
private static void job()
{
try
{
Application.Run(new frmMain());
}
catch
{
}
}
}
}
如何使用多线程或并行处理加快速度?
答案 0 :(得分:0)
我建议您查看BackgroundWorker Class
答案 1 :(得分:0)
查看Task
班级。
// Declare Task Object.
Task t = new Task(Job);
//Start another Task to do the job.
t.Start()
(...)
// Task ended
t.ContinueWith(task =>
(.. process result if there is any ..)
);