代码如下,多线程给全局变量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的值不就变成未定义了吗