在vb.net中多次执行相同的功能

时间:2013-02-03 19:08:41

标签: vb.net multithreading

我有一个来自外部网络服务的搜索功能。 搜索大约需要3秒才能搜索一天的数据以返回记录数。 要求不断搜索数据一个月。

因此进行正常搜索是不明智的(大约需要90秒)。

我想用开始和结束日期作为参数进行搜索功能,并返回记录数。 并在for循环中调用此函数(更改日期范围)并在完成后对记录求和。

我认为最好的方法是进行任务或线程化。但我无法成功完成这一任务。

因此需要3秒而不是90秒。

任何帮助都会占用很多。

1 个答案:

答案 0 :(得分:0)

如果我正确地阅读你的问题,这应该让你开始:

Module modSum

Private mSum As Integer
Public Property Sum() As Integer
    Get
        Return mSum
    End Get
    Set(ByVal value As Integer)
        mSum = value
    End Set
End Property

Public Sub DoSum()

    For i = 1 To 30

        Dim dateToQuery As Date
        dateToQuery = Date.Parse("2013-02-" & i.ToString)


        Dim sc As New WebserviceCall
        sc.startdate = "2013-01-01"
        sc.enddate = "2013-01-31"

        Dim th As New Threading.Thread(AddressOf sc.DoServiceCall)
        th.Start()

    Next

End Sub

Public Class WebserviceCall

    Public startdate As Date
    Public enddate As Date

    Public Sub DoServiceCall()

        Dim ws As New YourService.Service
        Dim result As Integer = ws.GetSum(startdate, enddate)

        mSum += result

    End Sub

End Class

End Module