首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

线程池方法调用有关问题

2013-09-08 
线程池方法调用问题using Systemusing System.Collections.Genericusing System.Linqusing System.Text

线程池方法调用问题


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任何一个名称都可以通过编译运行,既然如此,那个这个变量到底有什么意义呢?

热点排行