首页后端开发ASP.NET关于vb点虐线程事件的信息

关于vb点虐线程事件的信息

时间2023-04-08 11:00:01发布访客分类ASP.NET浏览586
导读:vb点虐多线程如何返回参数,举个例子,谢谢 Public Class Form1 Public Class SquareClass '把多线程调用的函数封装到类中,通过类事件返回 Public Value As Doub...

vb点虐多线程如何返回参数,举个例子,谢谢

Public Class Form1

    Public Class SquareClass '把多线程调用的函数封装到类中,通过类事件返回

        Public Value As Double

        Public Square As Double

        Public Event ThreadComplete(ByVal Square As Double)

        Public Sub CalcSquare()

            Square = Value * Value

            RaiseEvent ThreadComplete(Square)

        End Sub

    End Class

    Dim WithEvents oSquare As SquareClass

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click '多线程返回值测试,当线程运行完成激发事件

        oSquare = New SquareClass()

        Dim t As New Threading.Thread(AddressOf oSquare.CalcSquare)

        oSquare.Value = 30

        t.Start()

    End Sub

    Sub SquareEventHandler(ByVal Square As Double) Handles oSquare.ThreadComplete '响应事件函数

        MsgBox("The square is "  Square)

    End Sub

End Class

求教VB点虐多线程问题

多线程是用于处理复杂项目的

打个比方

你的主程序线程A中有个循环,由于代码是一行行走的,所以循环结束前下面的代码无法运行,而此时主界面的反应就类似卡死的样子,你点击按钮也没有反应,因为主线程在忙着循环呢,所以对按钮的事件代码要等待了,如果要避免这种情况,就要用到多线程,另开一个新线程专门用来执行循环代码,主界面就不会卡死了,只要在循环结束后将结果传回主线程调用就可以了,再复杂点要涉及到委托,控制了

按你的要求其实你的代码用不到多线程,只要把sleep放到两段代码中间就可以了。

新线程结束用thread.abort()

vb点虐如何用线程池实现多线程事件响应

这个没法做到。原因

1)当你将方法排入线程池队列后,此方法在有线程池线程变得可用时执行。

2)线程池中某个线程的可用与不可用,是由点虐 后台决定,用户程序无法控制的

3)正如你观察到的:线程启动的时间不同,有快有慢,这恰恰说明线程池起作用了:线程池的调度试图让程序响应达到最佳。

VB.NET 的 后台线程(主线程)如何让它所属的主线程执行一个方法或事件(可以再附加分)

其实最简单的方法是设置一个全局的变量,然后加一个timer,不停显示最新的变量值

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: 关于vb点虐线程事件的信息
本文地址: https://pptw.com/jishu/2333.html
树莓派vb点虐 树莓派5 包含vbnetint的词条

游客 回复需填写必要信息