当前位置: 代码迷 >> VB Dotnet >> VB.NET多线程怎么给全局变量赋值
  详细解决方案

VB.NET多线程怎么给全局变量赋值

热度:30   发布时间:2016-04-25 02:09:00.0
VB.NET多线程如何给全局变量赋值
代码如下,多线程给全局变量a复制,在线程中a的值确实是等于“abc”但是线程结束后,a的值就丢失了!


Public Class Class1

   Public a As String '全局变量
   Dim myThread As Threading.Thread ‘线程

   Public Function SetText() As Boolean
         a="abc"
   End Function

    '启动线程
   Public Sub Thread_Start()
       myThread = New Threading.Thread(AddressOf SetText)
       myThread.Start()
   End Sub

End Class

------解决思路----------------------
什么叫a的值丢失了
   Public Sub Thread_Start()
       myThread = New Threading.Thread(AddressOf SetText)
       myThread.Start()
       myThread.Join()
       MsgBox a
   End Sub
有输出么?


------解决思路----------------------
你从哪里看到a的值丢失的
断点调试的时候?
断点调试,你必须在使用a的代码段里查看a的值,才能看到a的值
程序已经走出了使用a的代码段,你去看a的值,a的值不就变成未定义了吗
  相关解决方案