微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Threading.Task.Run 提交两次但仅在某些调用中提交

如何解决Threading.Task.Run 提交两次但仅在某些调用中提交

朋友们:这个问题让我很困惑。

除非我记录它,否则此代码将提交相同的作业两次!

' optionally log to a textfile before call
If bLog Then LogProcess("Before run")

' this only processes once regardless of 
Executesql($"UPDATE [Process] SET [timesRepeated] += 1,[dateStarted] = '{Now}' WHERE [id] = {iID}")

Dim oBackground As New Background

' this thing spawns two of the some - but not all - jobs!
Dim t1 As Task = Task.Run(Sub() CallByName(oBackground,sProcessKey,CallType.Method,iID))

' optionally log to a textfile following call
If bLog Then LogProcess("After run")

这是作为内部计时器调用后台处理例程的一部分发生的。

我已经确认计时器只生成一次,并且每次“热节拍”只触发一次。

如果使用 bLog = True 调用此例程,我将得到单次执行。如果 bLog = False,则某些进程 (sProcessKey) 在完全相同的时间被调用两次。我也登录了这些例程。

有什么想法吗?

提前致谢。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。