关键词搜索

源码搜索 ×
×

vb.net 教程 6-9 传值给线程1

发布2021-09-11浏览384次

详情内容

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

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版权协议,转载请附上原文出处链接及本声明。

相关技术文章

点击QQ咨询
开通会员
返回顶部
×
微信扫码支付
微信扫码支付
确定支付下载
请使用微信描二维码支付
×

提示信息

×

选择支付方式

  • 微信支付
  • 支付宝付款
确定支付下载