加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

Vb.net Thread线程实例

发布时间:2020-12-16 22:55:54 所属栏目:大数据 来源:网络整理
导读:Imports System.Threading Class Class1 'Public Shared Sub Main(ByVal args() As String) ' 'Application.Run(New Form1()) ' '' Get the path that stores favorite links. ' Shell("notepad",AppWinStyle.NormalFocus) 'End Sub 'Main Shared t As Threa

Imports System.Threading

Class Class1

'Public Shared Sub Main(ByVal args() As String)
' 'Application.Run(New Form1())
' '' Get the path that stores favorite links.
' Shell("notepad",AppWinStyle.NormalFocus)
'End Sub 'Main

Shared t As Thread
Public Shared Sub Main()
Console.WriteLine("Main thread: Start a second thread.")
' The constructor for the Thread class requires a ThreadStart
' delegate. The Visual Basic AddressOf operator creates this
' delegate for you.
t = New Thread(AddressOf ThreadProc1)

' Start ThreadProc. Note that on a uniprocessor,the new
' thread does not get any processor time until the main thread
' is preempted or yields. Uncomment the Thread.Sleep that
' follows t.Start() to see the difference.
Console.WriteLine("ThreadState:" + CStr(t.ThreadState))
t.Start()
Console.WriteLine("ThreadState:" + CStr(t.ThreadState))
Thread.Sleep(0)
Dim i As Integer
Console.WriteLine("Main thread:---START")
For i = 1 To 4
Console.WriteLine("Main thread: Do some work.")
Threading.Thread.Sleep(0)
Next

Console.WriteLine("Main thread: Call Join(),to wait until ThreadProc ends.")
Console.WriteLine("ThreadState:" + CStr(t.ThreadState))
t.Join()
Console.WriteLine("ThreadState:" + CStr(t.ThreadState))
Console.WriteLine("Main thread: ThreadProc.Join has returned. Press Enter to end program.")
Console.ReadLine()
t = New Thread(AddressOf ThreadProc2)

' Start ThreadProc. Note that on a uniprocessor,the new
' thread does not get any processor time until the main thread
' is preempted or yields. Uncomment the Thread.Sleep that
' follows t.Start() to see the difference.
Console.WriteLine("ThreadState:" + CStr(t.ThreadState))
t.Start()
Console.WriteLine("ThreadState:" + CStr(t.ThreadState))
t.Join()
Console.WriteLine("ThreadState:" + CStr(t.ThreadState))
t = New Thread(AddressOf ThreadProc3)
t.Start()
t.Join()
Console.WriteLine("Main thread: ThreadProc.Join has returned. Press Enter to end program.")
Console.ReadLine()
End Sub

Public Shared Function ThreadProc1() As Integer
Console.WriteLine("ThreadProc1---START")
For i As Integer = 0 To 10
Console.WriteLine(CStr(i))
Next
Console.WriteLine("ThreadProc1---END")
End Function

Public Shared Function ThreadProc2() As Integer
Console.WriteLine("ThreadProc2---START")
For i As Integer = 0 To 10
Console.WriteLine(CStr(i))
Next
Console.WriteLine("ThreadProc2---END")
End Function

Public Shared Function ThreadProc3() As Integer
Console.WriteLine("ThreadProc3---START")
For i As Integer = 0 To 10
Console.WriteLine(CStr(i))
Next
Console.WriteLine("ThreadProc3---END")
End Function

End Class 'MyProcess


控件台输出结果:

Main thread: Start a second thread.
ThreadState:8
ThreadProc1---START
0
1
2
3
4
5
6
7
8
9
10
ThreadProc1---END
ThreadState:0
Main thread:---START
Main thread: Do some work.
Main thread: Do some work.
Main thread: Do some work.
Main thread: Do some work.
Main thread: Call Join(),to wait until ThreadProc ends.
ThreadState:16
ThreadState:16
Main thread: ThreadProc.Join has returned. Press Enter to end program.
ThreadState:8
ThreadState:0
ThreadProc2---START
0
1
2
3
4
5
6
7
8
9
10
ThreadProc2---END
ThreadState:16
ThreadProc3---START
0
1
2
3
4
5
6
7
8
9
10
ThreadProc3---END
Main thread: ThreadProc.Join has returned. Press Enter to end program.

ThreadState:8 =Unstart(没运行)

ThreadState:0=running(线程运行)

ThreadState:16=stoped (线程停止)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读