vb.net 教程6-8 线程优先级

版权声明:本文为博主原创文章,转载请在显著位置标明本文出处以及作者网名,未经作者允许不得用于商业目的。

在《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 教程 目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值