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();