Windows服务中的多个线程

时间:2012-08-16 10:32:31

标签: c# multithreading timer windows-services thread-safety

我有一个Windows项目和一个表格,每5秒就有一个计时器。

它从请求命名的表时间和条件方式调用和处理方法。

但我有一些方法类型需要花费太多时间来响应并希望这些方法在单独的线程中。这样我就可以在单独的线程和同步中运行这两种请求类型。

如何使用线程 - 多异步线程将它们分开?

2 个答案:

答案 0 :(得分:5)

我建议您查看.NET 4.0 Task类。每次射击完整的线程可能有点矫枉过正。任务与计时器一起使用底层线程池并行执行工作。

使用Task就像:

一样简单
Task t = Task.Factory.StartNew(
       () => 
       {
           // task code here
       });

答案 1 :(得分:1)

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');
    }
}

Threading Tutorial