Action 异步一个方法出来后,这个方法是在线程池中建立一个线程运行吗?函数执行完线程就自动销毁了吗? Action<int> a = work;
a.BeginInvoke(id, null, null);
 public void work(int a)
{
  return;
}他与线程池ThreadPool 是一样的意识吗?同样在线程池里面建立一个线程,运行要执行的函数WaitCallback w = new WaitCallback(Calculate);
ThreadPool.QueueUserWorkItem(w, 1.0);
ThreadPool.QueueUserWorkItem(w, 2.0);ThreadPool.QueueUserWorkItem(w, 3.0);
ThreadPool.QueueUserWorkItem(w, 4.0);public static void Calculate(double Diameter)
{
return Diameter * Math.PI;
} 请高手指点一下,这2种用法是不是一样的。是否类似。

解决方案 »

  1.   

    是的,他们的在.net的底层都是调用threadpool中创建的线程,threadpool会维护这些线程的创建和销毁,你可以放心的用.
      

  2.   

    Action 和线程池有毛关系?
    Action 只不过是一个泛型委托,空壳子一个。
    线程池就是线程池。
    为什么总有人喜欢把不相关的两个东西拉到一起讨论呢。白菜和大象有什么关系?拖拉机和鼠标是什么关系?
      

  3.   

    我现在就是不明白到底有没有关系,有的说是的,有的说不是的。 lugin/001/face/63.gif][/img]
      

  4.   

    BeginInvoke方法是自动在线程池中运行的,因此是有关系的。
      

  5.   

    运行效果一样,一般都用BeginInvoke,那个方便,是自动维护线程池的。