.Net多线程访问/更改函数中的局部变量

时间:2019-03-22 09:20:15

标签: .net vb.net multithreading thread-safety

应用程序设计: 它是一个批处理过程(.Net 3.5)

EXE(线程任务)-> WCF Web服务-> Dll-> ...-> Dll-> ...数据库

我已经深入研究了线程混合数据的确切方法。该方法的基本但精确的表示。

    Public Function Name(  TransactionArray (,) Object)

      Dim x As Decimal
      Dim y As Decimal

      <Loop TransactionArray>
        x= TransactionArray(0,0)
        y = TransactionArray(1,0)

        <AnotherClassObjectInstance>.CallAnotherMethod(X,Y) 'Add data to database 
      <End loop TransactionArray>

End Function

我如何确定线程正在混合数据。

  1. 循环并在函数开始时将事务处理数组的值写入日志。
  2. 同时写X和Y进行记录。
  3. 与事务数组和X和Y中的值完全不同。

尝试了以下操作,但没有用。

  1. 直接使用transaciton数组在.CallAnotherMethod(X,Y)中设置值

  2. 转到顶级dll函数,其中TransactionArray是局部变量。将其移至类级别并使其共享和线程静态。

问题 1.我还能尝试什么? 2.我应该去别的地方看看吗?

0 个答案:

没有答案