版权声明:本文为博主原创文章,转载请在显著位置标明本文出处以及作者网名,未经作者允许不得用于商业目的。
在《vb.net 教程 6-5 多线程 基本概念》中已经提到Thread类的Priority属性,可以设置线程优先级。
以下代码中通过设置线程优先级来控制线程,但是事实上可能和希望的有所不同:
Sub sample3()
Dim cKeyInfo As ConsoleKeyInfo
cKeyInfo = Console.ReadKey()
Do While cKeyInfo.Key <> ConsoleKey.Escape
cKeyInfo = Console.ReadKey
Console.WriteLine()
Dim workThread1 As New Thread(AddressOf sample3_printI1)
Dim workThread2 As New Thread(AddressOf sample3_printI2)
workThread1.Priority = ThreadPriority.Lowest
workThread2.Priority = ThreadPriority.Highest
workThread1.Start()
workThread2.Start()
cKeyInfo = Console.ReadKey()
Loop
End Sub
Sub sample3_printI1()
For i As Integer = 0 To 1000
Console.Write("1")
Next
End Sub
Sub sample3_printI2()
For i As Integer = 0 To 1000
Console.Write("2")
Next
End Sub
workThread1的优先级为最低,workThread2的优先级为最高,但是运行时如下:
至少我这里没有感觉出来,可能线程中的代码比较简单,系统还来不及调整优先级就运行完了。复杂、需要处理更长时间的代码还有待考察。
由于.net平台下C#和vb.NET很相似,本文也可以为C#爱好者提供参考。
学习更多vb.net知识,请参vb.net教程目录
版权声明:本文为CSDN博主「VB.Net」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。