Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在vb.net中多次执行同一函数_Vb.net_Multithreading - Fatal编程技术网

在vb.net中多次执行同一函数

在vb.net中多次执行同一函数,vb.net,multithreading,Vb.net,Multithreading,我有一个来自外部web服务的搜索功能。 搜索一天的数据大约需要3秒钟才能返回记录数。 要求连续搜索一个月的数据 因此,进行常规搜索(大约需要90秒)是不明智的 我想用开始日期和结束日期作为参数执行搜索功能,并返回记录数。 并在for循环中调用此函数(更改日期范围),并在完成后对记录求和 我认为最好的方法是执行任务或线程。但我没能成功地做到这一点 因此,这将需要3秒而不是90秒 这方面的任何帮助都是非常合适的。如果我正确地阅读了您的问题,这应该会让您开始: Module modSum Priva

我有一个来自外部web服务的搜索功能。 搜索一天的数据大约需要3秒钟才能返回记录数。 要求连续搜索一个月的数据

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

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

我认为最好的方法是执行任务或线程。但我没能成功地做到这一点

因此,这将需要3秒而不是90秒


这方面的任何帮助都是非常合适的。

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

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

我建议在这里发布一些示例代码,这样人们可以看到您试图在代码中做什么,然后再回复您。您是否可以控制外部Web服务的代码?我如何通过th.Start(开始日期,结束日期)将多个参数传递给函数