我有一個應該繼續觀看來自外部源(FileSystemWatcher
)的事件的程序,並且源代碼需要我的處理代碼速度很快,否則我可能會丟失下一個事件。在一個單獨的線程中觀察事件c#
但是在任何時候我的程序可能正在執行繁重的操作。
First question:
如果在繁重的操作過程中發生外部事件,我的程序是否會在處理事件之前完成操作?
Second question:
我是一個新手到線程,所以我的主要問題是如何創建一個單獨的線程永久從外部源做only
事件handlings? 我的第一個方法是這個線程將簡單地存儲主代碼準備訪問的數據,並使用繁重的代碼來處理存儲的數據。
謝謝。
你看了關於異步和等待? http://msdn.microsoft.com/en-us/library/hh191443.aspx – TheGeekYouNeed
如果我正確理解你的問題,那麼你可以做什麼,當一個事件引發,保存事件的所有上下文,並張貼工作項到線程池,並有池線程執行繁重的工作,並且原始線程很快返回到外部代碼。這假定一旦線程返回,您保存的上下文不會失效。 – LB2
你的格式很刺激。請看看選項,並使用一些理智的。 http://stackoverflow.com/editing-help - 謝謝。 (不,格式化爲'代碼'應該是一個**標題**,**粗體**,*強調*或編號列表不是理智的。) – JensG