VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > 编程开发 > vb >
  • vb.net 教程 6-9 传值给线程1 

版权声明:本文为博主原创文章,转载请在显著位置标明本文出处以及作者网名,未经作者允许不得用于商业目的。
 
Thread类的Start方法可以启动线程,同时还可以传一个值给线程:
 
'声明 
Public Sub Start ( _
    parameter As Object _
)
所传的值是Object类型,对应调用的方法中需要增加一个Object参数。
以下代码中sample4_PrintName方法需要传入一个名字
 
    Sub sample4()
        Dim sample4_Thread As New Thread(AddressOf sample4_PrintName)
        sample4_Thread.Start("张三")
        sample4_Thread.Join()
        Console.Write("End")
        Console.ReadKey()
    End Sub
    Sub sample4_PrintName(ByVal pName As Object)
        Dim testName As String = CType(pName, String)
        For i As Integer = 0 To 10
            Console.WriteLine(i & ":" & testName & ",")
        Next
    End Sub
当使用Start("张三")传入后,sample4_PrintName中将传入的object数据转为String类型再使用:
 
 
 
由于每次只能传入一个数据,如果要传入多个数据,可以考虑使用数组、Dictionary、类、结构等等。
 
下面是一个传递Dictionary值给线程的例子:
 
    Sub sample4_1()
        Dim stu As New Dictionary(Of String, String)
        stu.Add("name", "zhangsan")
        stu.Add("age", "12")
 
        Dim sample4_Thread As New Thread(AddressOf sample4_1_PrintName)
        sample4_Thread.Start(stu)
        sample4_Thread.Join()
        Console.Write("End")
        Console.ReadKey()
    End Sub
    Sub sample4_1_PrintName(ByVal student As Object)
        Dim teststu As Dictionary(Of String, String) = CType(student, Dictionary(Of String, String))
        For Each kvp As KeyValuePair(Of String, String) In teststu
            Console.WriteLine(kvp.Key & ":" & kvp.Value)
        Next
    End Sub
 
 
由于.net平台下C#和vb.NET很相似,本文也可以为C#爱好者提供参考。
 
学习更多vb.net知识,请参看vb.net 教程 目录
————————————————
版权声明:本文为CSDN博主「VB.Net」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/UruseiBest/article/details/87893123

相关教程