2012-10-23 23 views
0

我在Visual Basic 2008中使用vb.net。我想知道如何使用vb.net執行順序任務?使用vb.net的順序任務

例子:

Do Task 1 then Move to Task 2 when Task 1 is complete 

任何想法,請?我必須使用哪些東西和工具來解決這個問題?

+0

這是程序無論如何運行的方式:按您指定的指令順序。也許你需要更詳細地解釋你在做什麼 - 你的問題表明你正在運行多線程代碼,但你沒有說清楚。 –

+0

這是一個非常模糊的問題。你的任務到底在做什麼?訪問數據庫?做計算?一般來說,在.Net中,*事件將會按順序發生*除非您努力使事情同時執行。 –

回答

1

.NET框架有一個Task類,它支持Task continuation。您可以使用Task.ContinueWith將它們鏈接在一起。這是一個代碼示例:

Imports System.Threading.Tasks 

Public Class Form1 
    Dim _var1 As Integer = 0 

    Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load 
    Dim task1 As task = Task.Factory.StartNew(AddressOf Task1_Code).ContinueWith(AddressOf Task2_Code) 
    task1.Wait() 
    MessageBox.Show(_var1) 
    End Sub 

    Sub Task1_Code() 
    Threading.Thread.Sleep(1000) 
    _var1 = 5 
    End Sub 

    Sub Task2_Code() 
    Threading.Thread.Sleep(1000) 
    _var1 *= 5 
    End Sub 
End Class