我有一個VB.net項目,它使用後臺工作人員來做一些事情。如何在VB.net中動態創建後臺工作
現在我想擴大該項目能夠做多的東西:)
用戶可在文本框中輸入一個URL,當在解析按鈕,該程序的用戶點擊創建一個新的tabcontrol一個輸出一些數據。
我使用硬編碼的背景工作。
但現在我想運行多個後臺工作人員來做這些事情,所以我不能依靠硬編碼後臺工作人員。
是否可以動態創建後臺工作人員。
我沒有任何想法如何,因爲我覺得我需要設置不同的方法和變量一樣進行設置:
Private bw As BackgroundWorker = New BackgroundWorker
bw.WorkerReportsProgress = True
bw.WorkerSupportsCancellation = True
AddHandler bw.DoWork, AddressOf bw_DoWork
AddHandler bw.ProgressChanged, AddressOf bw_ProgressChanged
AddHandler bw.RunWorkerCompleted, AddressOf bw_RunWorkerCompleted
bw.RunWorkerAsync()
Private Sub bw_DoWork()
,Private Sub bw_RunWorkerCompleted()
和Private Sub bw_ProgressChanged()
我想我需要在變量(list
/dictionary
)的某種數組中聲明後臺工作人員?除此之外,我不知道如何解決這個問題。
的Parallel.For和Parallel.ForEach是令人難以置信* *簡單的方式來獲得多線程工作在很多簡單的情況下,我堅持下去貫穿其中,並努力實現它們幾乎爲零。我在VB 2013上使用它們。我認爲SyncLock語句是VB專有的,並且相對於其他鎖定實現更加簡化了代碼。 – evilspoons 2015-07-10 18:52:29
@evilspoons如果我沒有記錯,'SyncLock'在c#中轉換爲'lock'(https://msdn.microsoft.com/en-us/library/c5kehkcz.aspx) – Smudge202 2015-07-14 07:42:52