当前位置:编程学习 > C#/ASP.NET >>

Action用法与线程池关系

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种用法是不是一样的。是否类似。 --------------------编程问答-------------------- 是的,他们的在.net的底层都是调用threadpool中创建的线程,threadpool会维护这些线程的创建和销毁,你可以放心的用. --------------------编程问答-------------------- Action 和线程池有毛关系?
Action 只不过是一个泛型委托,空壳子一个。
线程池就是线程池。
为什么总有人喜欢把不相关的两个东西拉到一起讨论呢。白菜和大象有什么关系?拖拉机和鼠标是什么关系? --------------------编程问答-------------------- 我现在就是不明白到底有没有关系,有的说是的,有的说不是的。 lugin/001/face/63.gif][/img] --------------------编程问答-------------------- BeginInvoke方法是自动在线程池中运行的,因此是有关系的。 --------------------编程问答-------------------- 那我上面的2种方法,效果是不是一样的呢?都是在线程池里面建立了线程调用哪个方法。大哥。 --------------------编程问答-------------------- 运行效果一样,一般都用BeginInvoke,那个方便,是自动维护线程池的。
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,