vb.net Parallel for 每次结果不一样该如何处理

qq_31534825 2017-05-29 12:03:49
例如 Parallel.[For](0, 100, Sub(i)

s = s & i & vbCrLf
End Sub)

TextBox1.Text = s
每次返回的s都不一样,这是怎么回事。。。新手,不太懂,多多指教
...全文
352 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
threenewbee 2017-05-29
  • 打赏
  • 举报
回复
因为是并行,所以无法确定顺序,要顺序就要同步,或者不并行
qq_31534825 2017-05-29
  • 打赏
  • 举报
回复
引用 1 楼 caozhy 的回复:
因为是并行,所以无法确定顺序,要顺序就要同步,或者不并行
我又试了一个别的 Private Shared s As Integer = 0 Parallel.For(0, 100, Sub(i) s = s + ceshi(i) End Sub) Public Function ceshi(a) Dim s As Single s = a * a ceshi = s End Function 按道理来说s应该每次都是一样的,都是328350,但是有的时候就不一样了
qq_31534825 2017-05-29
  • 打赏
  • 举报
回复
我又试了一个别的 Private Shared s As Integer = 0 Parallel.For(0, 100, Sub(i) s = s + ceshi(i) End Sub) Public Function ceshi(a) Dim s As Single s = a * a ceshi = s End Function 按道理来说s应该每次都是一样的,都是328350,但是有的时候就不一样了
im战术 2017-05-29
  • 打赏
  • 举报
回复
并行处理,速度是快了.但顺序有可能会乱,出全部结果的时间你得判断.

16,555

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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