2012-10-15 15 views
0

BeginInvoke可以和BackgroundWorker做同樣的事嗎?我的意思是,最後不是在同一個目標中,而是在不同的線程中進行異步操作?BeginInvoke可以和BackgroundWorker做同樣的事嗎?

如果我有一個WPF窗口..我想訪問數據庫使用這兩種方法。效果是否一樣?

+0

在一天結束時,所有BackgroundWorker都是具有內部線程的類。 BeginInvoke用於完全不同的目的,它並不意味着啓動一個線程,這聽起來像你應該做更多的研究。 –

+0

@Ramhound,但基本上一個BackgroundWorker啓動一個線程..所以異步調用就像啓動一個線程。我說是喜歡。 – Rushino

回答

2

您可以用BeginInvoke替換BackgroundWorker,但它會花費一些額外的代碼BackgroundWorker以一種非常友好的方式包裝後臺線程的管理。

BeginInvoke當然可以照顧異步工作。這是一個較低的水平,所以你有更多的靈活性(以自己不得不做更多工作爲代價)。

+0

好的,謝謝! – Rushino