社区
C#
帖子详情
使用多线程时,怎样指定一个带参数的方法作为ThreadStart()的参数?
xueyhfeng
2005-07-25 10:25:33
如题,如果我使用 Thread thd1 = new Thread(new ThreadStart(Query));来创建线程,那么当这个Query方法带有参数时,会编译失败,说是委托(delegate)与Query不符,该怎么办?
...全文
744
6
打赏
收藏
使用多线程时,怎样指定一个带参数的方法作为ThreadStart()的参数?
如题,如果我使用 Thread thd1 = new Thread(new ThreadStart(Query));来创建线程,那么当这个Query方法带有参数时,会编译失败,说是委托(delegate)与Query不符,该怎么办?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
xueyhfeng
2005-07-25
打赏
举报
回复
恩,楼上的方法可行,不过,似乎需要在QueryA()中做额外的判断,我现在用ThreadPool解决了问题,感谢两位,
fxyfx
2005-07-25
打赏
举报
回复
Main()中
Query q1=new Query("ad","dd","dd"...);
Query q2=new Query("cc","cc","cc"...);
Query q3=new Query("ee","ee","ee"...);
Query q4=new Query("11","22","33"...);
类Query中
QueayA()
{
//例如执行操作aa
aa(str1,str2,str3.......);
//例如执行操作bb
bb(str10,str20,str30...);
...............
}
xueyhfeng
2005-07-25
打赏
举报
回复
楼上的方法刚才试了,
因为我要同时启动多个线程来执行操作,而且这些线程需要不同的参数,如果用楼上的方法,那么存在线程同步的问题,似乎是主线程先执行,然后所有创建出来的线程都得到了相同的数据,
fxyfx
2005-07-25
打赏
举报
回复
class Query
{
private string str1;
……参数
public Query(string a,string b,string c......)
{
str1=a;
...........
}
public void QueryA
{
.....................
}
}
void Main()
{
Query q1=new Query("ad","dd","dd"...);
...
Thread th1=new Thread(new ThreadStart(Query.QueryA);
...........
}
firstsee
2005-07-25
打赏
举报
回复
如果你的线程在创建的同时就会启动并执行的话,建议使用
ThreadPool.QueueUserWorkItem(new WaitCallback(Query),state);
这样你就可以把所有的参数放在state中了。
lm517
2005-07-25
打赏
举报
回复
mark
c#
多线程
调用
带
参数
函数
本文详细介绍了如何在C#中
使用
多线程
调用
带
参数
的函数,包括不
带
参数
、
带
一个
参数
以及
带
多个
参数
的情况。通过
Thre
ad类的构造函数,如Parameterized
Thre
adS
tar
t和
Thre
adS
tar
t,结合实例代码展示了如何实现线程间的
参数
传递。
thre
ads
tar
t
一个
参数
和两个
参数
本文通过
一个
具体的 C# 代码示例展示了如何
使用
Thre
adS
tar
t 委托来创建并启动线程,分别演示了实例
方法
和静态
方法
作为线程入口的过程。
带
参数
线程的操作(Parameterized
Thre
adS
tar
t,
Thre
adS
tar
t)
本文详细介绍了在C#中如何
使用
Thre
ad类创建不
带
参数
及
带
参数
的线程,包括
Thre
adS
tar
t和Parameterized
Thre
adS
tar
t的
使用
方法
。通过具体代码示例展示了如何传递不同数量的
参数
。
以
Thre
adS
tar
t方式实现
多线程
本文介绍了如何在C#中
使用
Thre
adS
tar
t和Parameterized
Thre
adS
tar
t委托实现
多线程
,包括前台线程与后台线程的区别、线程挂起与恢复的
方法
、以及如何正确地终止线程。
Thre
adS
tar
t中如何
带
参数
本文介绍了C#中
使用
Parameterized
Thre
adS
tar
t委托来传递
参数
到线程的具体
方法
,并通过
一个
计算示例展示了如何将整数
参数
传入线程执行。
C#
111,131
社区成员
642,541
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章