多次调用同一个过程效率下降的问题

本文探讨了在循环中使用多线程提高程序运行效率的方法,并通过实例展示了如何实现和测量多线程循环的性能提升。重点在于解决在特定线程数量下出现的性能下降问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Public Class 公共类

    Declare Function GetTickCount Lib "kernel32.dll" Alias "GetTickCount" () As Integer

    Public Sub 循环()

        Dim 次数 As Integer = 0
        Dim Start_T = GetTickCount

        Do While True

              Threading.Thread.Sleep(100)

               '做点事占用点时间

              次数 += 1

              If 次数 = 50 Then

                        Dim Stop_T = GetTickCount

                        Console.WriteLine("运行50次所用时间(毫秒):{0}", Stop_T - Start_T)

                        次数 = 0

                        Start_T = GetTickCount

              End If

        Loop

    End Sub

End Class

调用时用多线程时:

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

            Dim ggl As New 公共类

            Dim Thread1 As New System.Threading.Thread(New Threading.ParameterizedThreadStart(AddressOf ggl.循环))

           Thread1.IsBackground = True

            Thread1.Start() ' 启动新线程

End Sub

结果前面2次运行时运行速度正常,当运行超过5个线程时,运行速度明显变慢。等待解决方案

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值