[VB.NET Tips]线程传递参数四种方法

Thread线程启动方法,一般来说要么是一个无参数的方法,要么是一个带有object参数的方法并且在Start时传递参数的值。
但是我们可以利用一些技巧给方法传递不受限制的参数。这些方法又可以在实际使用过程相互融合。
方法简单直接上代码,供君参考。

Imports System.Threading
Module Module1

    Sub Main()

        '第一种:在Start中传递参数值,但方法中的参数类型需为object类型
        Dim t1 As New Thread(AddressOf CountNumber)
        t1.Start(10)

        '第二种:通过Lambda表达式创建线程,可以传递任意的参数
        Dim t2 As New Thread(Sub()
                                 PrintNumber(20)
                             End Sub)
        t2.Start()

        '第三种:通过实例化类来传递参数,然后调用类方法
        Dim c As New Count(10)
        Dim t3 As New Thread(AddressOf c.CountNumber)
        t3.Start()

        '第四种:通过传递类或结构,以达到向方法传递多个参数
        Dim p As New Person() With {
            .FirstName = "严",
            .LastName = "查散"
            }
        Dim t4 As New Thread(AddressOf ShowName)
        t4.Start(p)

        Console.Read()

    End Sub

    '传递单个参数
    Private Sub CountNumber(number As Object)

        Dim sum As Integer

        For i As Integer = 1 To Integer.Parse(number)

            sum += i

        Next

        Console.WriteLine(sum)

    End Sub

    '传递非object参数
    Private Sub PrintNumber(number As Integer)

        Console.WriteLine(number)

    End Sub

    '把方法包装成类,在实例化时传递参数
    Class Count

        Dim number As Integer

        Sub New(number As Integer)

            Me.number = number

        End Sub

        Public Sub CountNumber()

            Dim sum As Integer

            For i As Integer = 1 To Integer.Parse(number)

                sum += i

            Next

            Console.WriteLine(sum)

        End Sub

    End Class

    '传递一个类或结构达到传递多个参数
    Private Sub ShowName(person As Object)

        Dim myPerson As Person = CType(person, Person)

        Console.WriteLine(myPerson.FirstName & myPerson.LastName)

    End Sub

    Class Person

        Public Property FirstName As String
        Public Property LastName As String

    End Class

End Module

(0)

相关推荐

  • 按指定次数重复内容

    前言 有时候我们需要对一列单元格按照指定的次数进行重复,如下图所示,D列为结果. 解决方法 今天我们试图用VBA来实现,方法如下: ALT+F11 打开VBA,插入任意模块,在模块中输入如下代码: S ...

  • 如何禁用Windows 10系统自动更新?四种方法教你关闭!

    在微软各种手段的强推之下,使用Windows 10系统的用户越来越多.尽管Win10系统在功能上做得非常到位,但是它的自动更新就像打不死的小强一样,过段时间就会强制更新. 新几天同事小刘买了一台品牌台 ...

  • 适合宝妈在家赚钱的四种方法动一动就有收入

    人总是在遭遇一次重创之后,才会幡然醒悟,重新认识自己的坚强和坚忍.所以,无论你正在遭遇什么磨难,都不要一味抱怨上苍不公平,甚至从此一蹶不振.人生没有过不去的坎,只有过不去的人.很多生了孩子的妈妈因为要 ...

  • 四种方法判断车轮回正,特别适合新手司机。

    四种方法判断车轮回正,特别适合新手司机。

  • 谁说苹果手机不能通话录音?教你四种方法,别再说不知道了

    我们都知道苹果手机的价格非常昂贵,但也有一些小功能方面,可能不如安卓手机,就比如在通话时,苹果手机没有录音功能,相对于安卓手机就自带这一功能. 苹果为什么不能通话录音? 苹果手机不能通话录音并不是因为 ...

  • 谁说苹果手机不能通话录音?四种方法教给你!别再说你不知道了

    上次小编买了个假货打电话投诉,结果对方态度恶劣,还好通话过程全录下来了,拿到消协投诉最终才没有造成很大的损失,所以说,通话录音在关键时刻还是很重要的~不过很多用苹果手机的小伙伴都经常吐槽苹果手机没有通 ...

  • 自制大蒜农药四种方法

    大蒜含有大蒜素以及多种烯丙基.丙基和甲基,其味辛辣.特臭,对于多种作物害虫具有灭杀和抑制作用.用大蒜自制农药,不但方法简便,防虫灭病效果好,而且安全无害,有利于保护生态环境,可以不夸张的说,大蒜是自制 ...

  • 案子赢了却执行不了?试试这四种方法

    麦读君按:实践中,大部分执行案件因被执行人财产不足以清偿其所有债务而终本结案.这种情况下如何寻找突破口?作者给支了四招.文章最后还有前高院执行业务专家,给出的强制执行参与分配的疑难问题解决方法. 作者 ...

  • 调气机常用的四种方法

    艾国医 公众号 田法 可怎么调气机呢? 老师说,最常见的气机失调,有气虚气陷气滞气逆四种,针对这四种气机失调,可以用四大法.即气虚则补,气陷则升,气滞则疏,气逆则降. 然后老师便利用看病的闲余时间,给 ...

  • 股权转让一定要记住这四种方法,最低综合税率只要1.5%!

    股权转让分为2种,一种是公司持股,还有一种是个人持股.两者都需要交大量的税,公司持股会交25的所得税,个人持股转让也会交大额的个税,这无疑是股东头痛的问题. 税收筹划千千万,<优税君>为你 ...