如题,如何做到在多个带参数线程依次执行时传参准确,我的具体情况如下:
线程执行函数中带有参数dotime,同时为保证异步顺次执行,使用了信号量,代码为public class proinformation
{
...
public int dotime;
...
public async void Threadbuild()
{
await slim.WaitAsync();
...
Thread.Sleep(dotime * 1000);
...
slim.Release();
}
}
以上封装在一个类中,在窗体控件Form类中,有触发函数proin[x].dotime = proin[x].lesstime;
pro = new Thread(proin[x].Threadbuild);
pro.Start();
如果X=1,2,3,相当于创建了3个进程,其dotime参数假设为2,4,5,但在我实际操作过程中发现问题
即本来应该是执行2S,4S,5S的进程的实际执行情况为5S,5S,5S,即重复最后一次执行
我个人认为原因可能在于传参时覆盖了前一参数,故有上述问题,我该如何准确传参?
关于C#异步多线程编写时准确传参的问题
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答
- threenewbee 2017-09-05 00:25关注
你说的对,你可以用带参数的线程的构造函数版本传给线程初始值。
或者用ThreadStart让它立刻执行本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 乘性高斯噪声在深度学习网络中的应用
- ¥15 运筹学排序问题中的在线排序
- ¥15 关于docker部署flink集成hadoop的yarn,请教个问题 flink启动yarn-session.sh连不上hadoop,这个整了好几天一直不行,求帮忙看一下怎么解决
- ¥30 求一段fortran代码用IVF编译运行的结果
- ¥15 深度学习根据CNN网络模型,搭建BP模型并训练MNIST数据集
- ¥15 C++ 头文件/宏冲突问题解决
- ¥15 用comsol模拟大气湍流通过底部加热(温度不同)的腔体
- ¥50 安卓adb backup备份子用户应用数据失败
- ¥20 有人能用聚类分析帮我分析一下文本内容嘛
- ¥30 python代码,帮调试,帮帮忙吧