c# 多线程 匿名嘱托调用方法,方法代码没执行
c# 多线程 匿名委托调用方法,方法代码没执行
vs2010
我使用线程数组创建多个线程,然后线程用匿名委托调用带参数的方法,方法却没执行。
代码如下:
对线程不是太熟悉,请问这个是原因造成的?断掉调试 就没有进入过 Send 方法
------解决方案--------------------
vs2010
我使用线程数组创建多个线程,然后线程用匿名委托调用带参数的方法,方法却没执行。
代码如下:
Thread[] TdSend;
//执行方法
private void Send(string user,string pwd)
{
//代码块。这里在断点调试时,根本没有进入
}
private void btn_send_Click(object sender, EventArgs e)
{
DataSet ds = eDao.GetSendInfo();
if (ds == null)
{
MessageBox.Show("获取信息失败!", "提示:");
return;
}
dtAccount = ds.Tables["Account"];
dtAddress = ds.Tables["Address"];
TdSend = new Thread[int.Parse(tb_ThreadNum.Text)];
for (int k = 0; k < TdSend.Length; k++)
{
string user = dtAccount.Rows[0]["UserName"].ToString();
string pwd = dtAccount.Rows[0]["PassWord"].ToString();
dtAccount.Rows.RemoveAt(0);
TdSend[k] = new Thread(delegate() { Send(user, pwd); });
TdSend[k].Start();
}
}
对线程不是太熟悉,请问这个是原因造成的?断掉调试 就没有进入过 Send 方法
多线程
C#
匿名委托
------解决方案--------------------
static Thread[] TdSend;
private static readonly object lck = new object();
static void Main(string[] args)
{
TdSend = new Thread[3];
string a = "1";
string b = "2";
for (int k = 0; k < TdSend.Length; k++) {