Multithreading C#-尝试使用作为参数的as Action函数创建线程化进程

Multithreading C#-尝试使用作为参数的as Action函数创建线程化进程,multithreading,c#-4.0,Multithreading,C# 4.0,这是一个我自己娱乐的项目 我开始想尝试组合和排列。在控制台应用程序中,我有以下代码 public static void Save(string newWord) { using (var db = new MyDataContext()) { var w = new Word {word = newWord}; db.Words.InsertOnSubmit(w); db.S

这是一个我自己娱乐的项目

我开始想尝试组合和排列。在控制台应用程序中,我有以下代码

    public static void Save(string newWord)
    {
        using (var db = new MyDataContext())
        {
            var w = new Word {word = newWord};
            db.Words.InsertOnSubmit(w);
            db.SubmitChanges();
        }
    }

    static void Main(string[] args)
    {
        var letters = new[] { 'A', 'B', 'C', '1', '2', '3'};

        for (var i = 2; i < 10; i++)
        {
            letters.GetPermutations(a => Save(string.Join(string.Empty, a.ToArray())), i, true);
        }
    }
但显然,线程中不喜欢传入的操作,即对“Save”函数的调用。如果有人能给我一个正确的方向,我将不胜感激

谢谢,
Andy

线程构造函数正在寻找一个委托,但您似乎在传递一个值。尝试将其包装在
ThreadStart
委托中

ThreadStart del = () => letters.GetPermutations(a => Save(string.Join(string.Empty, a.ToArray())), i, true);
Thread t = new Thread(del);
t.Start();
Thread t = new Thread(letters.GetPermutations(a => Save(string.Join(string.Empty, a.ToArray())), i, true));
ThreadStart del = () => letters.GetPermutations(a => Save(string.Join(string.Empty, a.ToArray())), i, true);
Thread t = new Thread(del);
t.Start();