实验结果
为了学习Thread的属性,通过Thread.state来返回thread的状态,执行效果如下
代码
Imports System.Threading.Thread
Imports System.Threading
Module Module1
Sub Main()
Dim newThread As Thread = New Thread(AddressOf ThreadMethod)
Console.WriteLine("ThreadState: {0}", newThread.ThreadState) '此时线程还未启动
newThread.Start()
Console.WriteLine("ThreadState: {0}", newThread.ThreadState) '线程已经启动,工作开始
Thread.Sleep(1000)
Console.WriteLine("ThreadState: {0}", newThread.ThreadState) '线程挂起或者等待中
newThread.Join() '通过Join()方法,直到线程已经结束再继续
Console.WriteLine("ThreadState: {0}", newThread.ThreadState) '此时线程已经停止
Console.ReadLine()
End Sub
Public Sub ThreadMethod()
Thread.Sleep(5000)
End Sub
End Module
知识点
Console.WriteLine(“x的结果为:{0}”,x);中{0}代表占位符,替代后面第一个出现的变量,在本例中就是x。
join 用法是A线程正在执行,突然执行的时候碰到了B.join(), 那么,A线程就必须要等到B线程执行完之后才能执行。在这个问题中是等待newThread执行完毕。