读书人

线程池方法调用有关问题

发布时间: 2013-09-08 15:21:21 作者: rapoo

线程池方法调用问题


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;

class Program
{
static void Main(string[] args)
{
List<Action> actions = new List<Action>();
actions.Add(() => Console.WriteLine("A1"));
actions.Add(() => Console.WriteLine("A2"));
actions.Add(() => Console.WriteLine("A3"));
actions.Add(() => Console.WriteLine("A4"));

foreach (var action in actions)
{
ThreadPool.QueueUserWorkItem(state => action(), null);
Thread.Sleep(1);
}

Console.Read();
}
}




ThreadPool.QueueUserWorkItem(state => action(), null);
state => action()

state => action()是什么意思? state这个变量是哪里来的?

[解决办法]
lambuda表达式、、随便定义的一个参数名而已
[解决办法]
action() 执行委托中的方法。。
[解决办法]
这个你就要去看一下匿名函数了。。

引用:
我懂了,但是 state => action()中的state为什么这个变量可以随便定义? 我修改了state,改为asdfasdf任何一个名称都可以通过编译运行,既然如此,那个这个变量到底有什么意义呢?

读书人网 >C#

热点推荐