我有 Windows 项目和一个表单,每 5 秒有一个计时器。
它从名为 table time wise 和 condition wise 的请求中调用和处理方法。
但是我有一些方法类型需要太多时间来响应并且希望这些方法在单独的线程中。这样我就可以在单独的线程和同步中运行这两种请求类型。
我如何使用线程将它们分开 - 多异步线程?
我有 Windows 项目和一个表单,每 5 秒有一个计时器。
它从名为 table time wise 和 condition wise 的请求中调用和处理方法。
但是我有一些方法类型需要太多时间来响应并且希望这些方法在单独的线程中。这样我就可以在单独的线程和同步中运行这两种请求类型。
我如何使用线程将它们分开 - 多异步线程?
我建议您查看 .NET 4.0Task
类。每次都触发完整的线程可能是矫枉过正。任务与计时器一起使用底层线程池并行执行工作。
使用 aTask
很简单:
Task t = Task.Factory.StartNew(
() =>
{
// task code here
});
using System;
using System.Threading;
class Program
{
static void Main()
{
Thread thread1 = new Thread(new ThreadStart(A));
Thread thread2 = new Thread(new ThreadStart(B));
thread1.Start();
thread2.Start();
thread1.Join();
thread2.Join();
}
static void A()
{
Thread.Sleep(100);
Console.WriteLine('A');
}
static void B()
{
Thread.Sleep(1000);
Console.WriteLine('B');
}
}