public struct qrypara
{
public string keyword;
public CookieContainer cookie;
public int pos;
public string url;
public string qryurl;
public string errorlog;
}
private void queryhk(object paraob)
{
qrypara qry = (qrypara)paraob;
try
{
此处省略不相关代码....
int pos = 0;
..............
qry.pos = pos;
paraob = qry;
}
catch (Exception rqste)
{
MessageBox.Show(rqste.ToString());
paraob = qry;
}
}
这样子 获取不到返回值是为什么 ??多线程线程池
{
public string keyword;
public CookieContainer cookie;
public int pos;
public string url;
public string qryurl;
public string errorlog;
}
private void queryhk(object paraob)
{
qrypara qry = (qrypara)paraob;
try
{
此处省略不相关代码....
int pos = 0;
..............
qry.pos = pos;
paraob = qry;
}
catch (Exception rqste)
{
MessageBox.Show(rqste.ToString());
paraob = qry;
}
}
这样子 获取不到返回值是为什么 ??多线程线程池
//结构体数组
public struct qrypara
{
public string keyword;
public CookieContainer cookie;
public int pos;
public string url;
public string qryurl;
public string errorlog;
}
ThreadPool.SetMaxThreads(maxthrd, maxthrd);
//循环添加线程
for (int i = 0; i < keytext.Lines.Count();i++ )
{
qry[i].keyword = keytext.Lines[i].ToString();
qry[i].cookie = cookie;
qry[i].pos = -1;
qry[i].qryurl="";
qry[i].url = urltxt.Text;
keylist.Add(keytext.Lines[i].ToString());
ThreadPool.QueueUserWorkItem(new WaitCallback(queryhk), qry[i]);
}
//多线程调用的方法
private void queryhk(object paraob)
{
qrypara qry = (qrypara)paraob;
try
{
此处省略不相关代码....
int pos = 0;
..............
qry.pos = pos;
paraob = qry;
}
catch (Exception rqste)
{
MessageBox.Show(rqste.ToString());
paraob = qry;
}
}
初学者 问的不是很清楚 希望斑竹体谅啦 在线等