标题:关于多线程的问题
只看楼主
asjiazhen
Rank: 1
等 级:新手上路
帖 子:30
专家分:0
注 册:2010-8-25
结帖率:62.5%
已结贴  问题点数:10 回复次数:3 
关于多线程的问题
书中关于多线程问题ThreadStart后面的方法是不带参数的。写了个程序,希望ThreadStart后面的方法带参数。不知道该如何写,按照正常的写法,不能执行。提示fangfa重载与ThreadStart不匹配。
主程序中代码是
ThreadStart ts1 = new ThreadStart(fangfa);    此处fangfa中的参数是a1,fangfa("a1")
ThreadStart ts2 = new ThreadStart(fangfa);    此处fangfa中的参数是a2,fangfa("a2")
Thread t1 = new Thread(ts1);
Thread t2 = new Thread(ts2);
t1.Start();
t2.Start();
方法的代码
public void fangfa(string str)
{
    console.WriteLine(str);
}
最终结果是输出a1、a2。
请帮忙解决下。谢谢!
搜索更多相关主题的帖子: 多线程 public 主程序 
2012-05-12 14:17
馨梦惜夕
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:54
专家分:190
注 册:2011-5-18
得分:5 
方法的代码
 public void fangfa(object str) 注意,如果在ThreadStart后面的方法要带参数,这个方法的参数必须申明为object型
 {
     console.WriteLine(str.Tostring);
 }
 
2012-05-12 20:42
lhb62232397
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:1
帖 子:117
专家分:546
注 册:2011-11-6
得分:5 
2楼说的的确有道理,但是本人没有实现。
thread th = new thread(new threadstart(fangfa));完全能解决楼主的问题。
不用把简单事情复杂化
2012-05-14 17:00
nvshenxp
Rank: 1
等 级:新手上路
帖 子:2
专家分:5
注 册:2012-5-7
得分:0 
带参数的话实例化的时候不能用threadstart(),LZ可以看一下下面这个博客,希望对你有帮助。

http://
2012-05-30 13:53



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-367391-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.076575 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved