我是Threads的新手,但我想知道如何在我的场景中命令线程执行,并且如下:
当我执行我的主app.exe时,有时会在任务管理器(app.exe)中启动Windows窗体和执行过程,在某些机会中它只是在后台启动执行过程。
如何确定启动UI的行为,我必须建立优先级或其他方面?
我的代码片段:
在表单加载(app.exe)中,它调用跟随函数OnStart():
Dim start As ThreadStart = New ThreadStart(AddressOf Writing)
Hilo = New Thread(start)
Hilo.IsBackground = True
Hilo.Start()
Hilo是Form.vb上声明的全局变量类型的线程
Writting是一个读取数据库并执行某些操作的函数,当它完成执行时会中止调用OnStop()的线程:
Protected Sub OnStop()
Try
If Not (Hilo Is Nothing) And Hilo.IsAlive Then
Hilo.Abort()
End If
objWriter.WriteLine("------------------------------------------------")
objWriter.Close()
Catch exc As Exception
LogEventSI(exc.Message & " - " & exc.StackTrace)
End Try
End Sub
ObjWriter是在.txt中写行的StreamWriter,其范围在所有app.exe中
我正在使用框架2.0,任何答案都可以在C#或Vb.Net中编写
提前致谢!
答案 0 :(得分:0)
当我需要调用OnStart()函数时,我使用带有条件的递归方法,然后如果不满足条件则调用OnStop()。
由于