多线程问题,求指教!...

娃ha哈 2011-05-10 02:29:04
请问一个带参数的方法怎么放到线程里面去?
liThread = new Thread(new ThreadStart(Listen));
liThread.Start();
上面这个Listen如果是带参数的怎么办呢?
...全文
102 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
娃ha哈 2011-05-10
  • 打赏
  • 举报
回复
额 谢谢LS各位 要用这个ParameterizedThreadStart()才行。

没有系统学过C#,请原谅小生...
grandyhwang 2011-05-10
  • 打赏
  • 举报
回复
Thread thread = new Thread(new ParameterizedThreadStart(Write));
thread.Start("线程调用带参数的方法");

private void Write(object obj)
{
string s=(string)obj;

}
无常名 2011-05-10
  • 打赏
  • 举报
回复
ParameterizedThreadStart 委托和 Thread.Start(Object) 方法重载使得将数据传递给线程过程变得简单,但由于可以将任何对象传递给 Thread.Start(Object),因此这种方法并不是类型安全的。将数据传递给线程过程的一个更可靠的方法是将线程过程和数据字段都放入辅助对象。有关更多信息,请参见 启动时创建线程并传递数据。

--摘自MSDN
donotsmoking 2011-05-10
  • 打赏
  • 举报
回复
class Program
{
int i;
public int ParametersInt
{
get{return i;}
set{i=value;}
}
static void Main(string[] args)
{
Program pro=new Program();
Thread thread = new Thread(new ParameterizedThreadStart(WriteNone));
thread.Start("线程调用带参数的方法");
}
public void WriteNone()
{
Write(ParametersInt)
}
public void Write(object par)
{
Console.WriteLine(par.toString());

}
}
xuexiaodong2009 2011-05-10
  • 打赏
  • 举报
回复
Thread(ParameterizedThreadStart)
kingdom_0 2011-05-10
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 hanyuwen007 的回复:]

看了帮助的哦,Start(object 参数啊)
我要传int参数啊。
搜寻网上的资料,好像要用匿名委托。请大神指导一下!
[/Quote]都可以传Object类型的参数,你就不会传int型了么……装箱拆箱啊。
无常名 2011-05-10
  • 打赏
  • 举报
回复

class Program
{
static void Main(string[] args)
{
Program pro=new Program();
Thread thread = new Thread(new ParameterizedThreadStart(Write));
thread.Start("线程调用带参数的方法");
}
public void Write(object par)
{
Console.WriteLine(par.toString());

}
}
xuexiaodong2009 2011-05-10
  • 打赏
  • 举报
回复
Thread还有另一个构造函数的
unling 2011-05-10
  • 打赏
  • 举报
回复
楼上正解
你方法里在拆箱会int
donotsmoking 2011-05-10
  • 打赏
  • 举报
回复
你把要调的方法现封装一次不就OK了吗?参数用一个属性来传过去。
hklinfeng 2011-05-10
  • 打赏
  • 举报
回复
int i=0;
liThread.Start(i);
系统会自动帮你装箱的
娃ha哈 2011-05-10
  • 打赏
  • 举报
回复
看了帮助的哦,Start(object 参数啊)
我要传int参数啊。
搜寻网上的资料,好像要用匿名委托。请大神指导一下!
bdmh 2011-05-10
  • 打赏
  • 举报
回复
Start,不就可以带参数吗,看帮助

110,567

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧