读书人

线程怎么调用带返回参数的方法,并返回

发布时间: 2011-12-19 23:23:36 作者: rapoo

线程如何调用带返回参数的方法,并返回值


private void btnCheeck_Click(object sender, System.EventArgs e)
{
test thr1 = new test();
test thr2 = new test();

Thread tid1 = new Thread(new ThreadStart(thr1.CheeckNetWorke2) );
Thread tid2 = new Thread(new ThreadStart(thr1.CheeckNetWorke) );


tid1.Start();
tid2.Start();
}
}


public class test
{
public void CheeckNetWorke2()
{
string IP = "172.22.146.57 ";

string state;

state =RunCmd( "ping " + IP).IndexOf( "TTL ") > 0 ? "Open ": "Close ";

MessageBox.Show( IP + " Vpn状态为: " + state + "\r\n ");
}

public string CheeckNetWorke()
{
string Message;

string IP = "172.22.146.62 ";

string state;

state =RunCmd( "ping " + IP).IndexOf( "TTL ") > 0 ? "Open ": "Close ";

Message = IP + " Vpn状态为: " + state + "\r\n ";

return Message;
}

private string RunCmd(string Cmd)
{
return p.StandardOutput.ReadToEnd(); //出流取得命令行果
}
}


---------------------

以上方法在执行报错误:C:\Documents and Settings\Administrator\桌面\Factory\NetWorkListen\MainFrom.cs(170): 方法“NetWorkListen.test.CheeckNetWorke()”与委托“void System.Threading.ThreadStart()”不匹配

情高手出来解答下 ,或发相关资料给我~在线等

E-MAIL:ye123s@163.com



[解决办法]
kissknife(侧身向南边) 你那个上面是不 是 2.0里面才有的啊

我用的是 2003啊 ~
=================
你要的其实是返回字符串,看上面给出的网址中的第2点..不是第1点..
[解决办法]
封装一下,弄成类吧
[解决办法]
没看见返回值,一般情况下,线程是不允许有返回值的,你可以用全局变量来做
[解决办法]
把线程所执行的方法放到一个类里,然后给类添加属性以使用在方法里能够获取或设置。
然后用线程来执行类的实例的这个方法。
[解决办法]
mark
[解决办法]
用全局变量啊

读书人网 >C#

热点推荐