您的位置:首页 > 编程语言 > VB

VB.NET中的多线程

2010-01-06 13:05 190 查看
简介

过去,在VB中进行多线程的应用程序开发是单调乏味的。多次生成新的线程会导致生成错误 :-)不过在VB.NET中已经发生了改变。 VB.NET现在可以像 Java一样简单的处理多线程。在下面我们将看到一个简单的可运行的例子。

生成多线程的应用程序例子

下面是threadtest.vb中的代码::

imports System 
imports System.Threading     
public class AClass       
    public sub Method1()         
        Dim i as integer         
        For i = 1 to 100
                  Console.Writeline("inside method1 of AClass object i={0}",i)         
        next     
    end sub       
    public sub Method2()         
        Dim i as integer         
        For i = 1 to 100
                  Console.Writeline("inside method2 of AClass object i={0}",i)
        next     
    end sub   
end class   
public class ThreadTest       
    public shared sub Main()         
        dim obj as new aclass         
        dim th1,th2 as thread           
        th1=new Thread(new ThreadStart(addressof obj.method1))         
        th1.start           
        th2=new Thread(new ThreadStart(addressof obj.method2))         
        th2.start           
        dim i as integer         
        For i= 1 to 100
                  Console.WriteLine("Inside the Sub Main i={0} ",i)         
        Next     
    end sub   
end class




解析一下上面的例子:

我们设计一个类 AClass ,它有两个方法 Method1 和 Method2

这些方法在控制台循环打印一些消息

我们用另一个类调用 AClass类

在 Main() 方法中我们创建一个线程类的实例

在System.Threading 命名空间中包含处理线程的属性和方法

在线程类的构造中我们使用 ThreadStart 类,它是一个委托,当线程开始时,方法将被执行

运行Start() 方法,运行线程

使用VBC命令行编译这个应用程序

vbc threadtest.vb /t:exe

当你运行这个exe文件时可以看到两个方法和main方法的混合输出,这表明不同的线程都在运行

另外除了上面的方法,还有许多处理线程的其他方法

Stop() : 停止这个线程的执行

Suspend() : 挂起线程的执行

Resume() : 唤起挂起的线程

Sleep() : 挂起指定毫秒数的线程

作者

Bipin Joshi


Bipin Joshi BinaryIntellect Consulting
的所有者,在那里他提供了许多关于 .NET 技术的训练程序。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: