vb.net创建多线程

来源:互联网 发布:免费下载电子表格软件 编辑:程序博客网 时间:2024/04/20 06:14
不同的线程具有不同的优先级,而优先级决定了线程能够得到多少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():取消线程

原创粉丝点击