-1

我的一个项目中有一个“小”问题。我必须调用 2 个存储在

Byte()

我不希望它们被写入磁盘,这样做,我愿意

        Sub Main()                
                Dim trd As New System.Threading.Thread(AddressOf LodFile1)
                trd.IsBackground = True
                trd.Start()
                Dim resourceManager As New Resources.ResourceManager("Files", System.Reflection.Assembly.GetExecutingAssembly)
                Dim [Bin2] As Byte() = DirectCast(resourceManager.GetObject("File2"), Byte())
                resourceManager.ReleaseAllResources()
                Dim a2 = System.Reflection.Assembly.Load([Bin2])
                Dim m2 As System.Reflection.MethodInfo = a2.EntryPoint
                Dim o2 As Object = a2.CreateInstance(m2.Name)
                m2.Invoke(o2, New Object() {New String() {"1"}})
        End Sub
        Sub LodFile1()
                Dim resourceManager As New Resources.ResourceManager("Files", System.Reflection.Assembly.GetExecutingAssembly)
                Dim [Bin1] As Byte() = DirectCast(resourceManager.GetObject("File1"), Byte())
                resourceManager.ReleaseAllResources()
                Dim a1 = System.Reflection.Assembly.Load([Bin1])
                Dim m1 As System.Reflection.MethodInfo = a1.EntryPoint
                Dim o1 As Object = a1.CreateInstance(m1.Name)
                m1.Invoke(o1, New Object() {New String() {"1"}})
        End Sub

是的,这两个程序集运行良好,两者都出现了,但是当我关闭一个程序时,三个应用程序关闭(这个程序和从 byte() 加载的程序)。

所以,我在问如何分别运行它们。

4

1 回答 1

0

当没有前台线程运行时,后台线程被中止。

尝试:trd.IsBackground = False

甚至更好:只需删除该行:)

于 2013-04-28T22:13:26.213 回答