不同的线程具有不同的优先级,而优先级决定了线程能够得到多少CPU时间。高优先级的线程通常会比一般优先级的线程得到更多的CPU时间,如果程序中存在不止一个高优先级的线程,操作系统将在这些线程之间循环分配CPU时间。一旦低优先级的线程在执行时遇到了高优先级的线程,它将让出CPU给高优先级的线程.
在Visual Basic.NET中,System.Threading.Thread.Priority枚举了线程的优先级别,这些级别包括Highest、AboveNormal、Normal、BelowNormal、Lowest。新创建的线程初始优先级为Normal。
例如:
Imports system
Imports system.Threading
Imports system.Threading.Thread
public sub test()
MsgBox "我是test过程,我被执行了,等待你确认", vbOKOnly, ""
MsgBox "我是test过程的第二个message", vbOKOnly, ""
End sub
public sub Command1_Click()
dim thr as Thread()
thr=new Thread(new Threadstart(adressof test))' Threadstart对象可以始现成处于准备启动状态,这时还没有执行,调用thr的start方法才会真正执行test过程.
thr.start
MsgBox "执行到我拉,说明我和 test不是一个线程", vbOKOnly, ""
End sub
当点击command1按钮后, 出现了2个msgbox信息:一个是 "执行到我拉,说明我和 test不是一个线程"
一个是 "我是test过程,我被执行了,等待你确认"
并且两个信息的的确认按钮都处于活动状态,按哪个都可以,所以你就应该明白vb.net像java一样,简单的就实现了真正的多线程.发挥你的想象力去做自己的多线程程序吧!
Thread类的一些常用方法:
start():开始执行线程
Stop():停止线程的运行。
Suspend():暂停线程的运行。
Resume():继续线程的运行。
Sleep():停止线程一段时间(单位为毫秒)。
CancelTask():取消线程
vb.net多线程排程 vbnet多线程编程
转载本文章为转载内容,我们尊重原作者对文章享有的著作权。如有内容错误或侵权问题,欢迎原作者联系我们进行内容更正或删除文章。
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
Python中多线程、进程与协程编程
本文给出Python中多线程、进程与协程编程各自使用场景及使用基本思路总结。
Python 多线程 事件循环 多进程 协程