Note2024081501_面向对象——多线程 和 委托VB.Net

面向对象——多线程 和 委托

1. 简单线程


Public Class Form1
    '多线程,同时进行几项工作
    '多核电脑,4核
    '4线程
    '同时运行多个应用软件
    '任务管理器
    '一个线程可以管理多个程序
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        '创建线程
        Dim XC As New Threading.Thread(AddressOf 线程1)
        Dim XC2 As New Threading.Thread(AddressOf 线程2)
        '启动线程
        XC.Start()
        XC2.Start()
        Threading.Thread.Sleep(500)
        Console.WriteLine("向下运行")


    End Sub

    Private Sub 线程1()
        For i = 0 To 9
            Console.WriteLine(i)
            Threading.Thread.Sleep(500)
        Next
    End Sub

    Private Sub 线程2()
        For i = 10 To 19
            Console.WriteLine(i)
            Threading.Thread.Sleep(1000)
        Next
    End Sub
End Class


2. 委托

委托定义方法

    Sub 委托过程(参数 As Integer)
        Label1.Text += 参数
    End Sub

委托的一种调用方法

    Label1.Invoke(Sub() 委托过程(1))

在程序中使用的全过程、主要实现计时功能,包含启动、暂停、继续、停止。界面样式:

在这里插入图片描述

程序:



Imports System.Security.Cryptography.X509Certificates

Public Class Form1
    '多线程,同时进行几项工作
    '多核电脑,4核
    '4线程
    '同时运行多个应用软件
    '任务管理器
    '一个线程可以管理多个程序

    Dim XC2 As Threading.Thread

    Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
        XC2 = New Threading.Thread(AddressOf 线程2)
        XC2.Start()
    End Sub
    'Private Sub 线程1()
    '    For i = 0 To 9
    '        Console.WriteLine(i)
    '        Threading.Thread.Sleep(500)
    '    Next
    'End Sub

    Private Sub 线程2()
        Try
            For i = 10 To 19
                '委托
                Label1.Invoke(Sub() 委托过程(1))
                Threading.Thread.Sleep(1000)
            Next
        Catch ex As Exception

        End Try

    End Sub

    Sub 委托过程(参数 As Integer)
        Label1.Text += 参数
    End Sub

    Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click

        Try
            XC2.Suspend()
        Catch ex As Exception

        End Try
    End Sub

    Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click
        Try
            XC2.Resume()
        Catch ex As Exception

        End Try

    End Sub

    Private Sub Button5_Click(sender As Object, e As EventArgs) Handles Button5.Click
        XC2.Abort()
    End Sub
End Class


以上
e Sub Button5_Click(sender As Object, e As EventArgs) Handles Button5.Click
XC2.Abort()
End Sub
End Class


*以上*
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值