爲了設置舞臺,我有一個名爲Scheduler
的自定義類,它擁有多個Task
對象(這也是一個自定義類)。每個任務都有一個BackgroundWorker
對象來運行長時間運行的工作。我目前正在進行一些測試,讓其中的許多任務能夠快速執行並在同一時間處理。什麼時候在執行時處理事件?
在我的Task
對象中,我在TaskWorkerCompleted
處理程序中引發自定義事件(TaskCompletedEvent
)以提醒調度程序任務已完成。調度程序爲每個任務的TaskCompletedEvent
使用相同的事件處理程序。
我想知道的是,如果我目前在Scheduler
TaskCompletedEvent
處理程序執行代碼和另一個事件結束,會發生什麼?兩者都將在UI線程上,那麼當前在事件處理程序中的那個會在另一個之前完成呢?當兩個事件同時完成並需要處理時,我會對將要發生的事情感到困惑。
你是什麼意思,兩者都在UI線程上?如果它們在UI線程上,則它們不能同時完成。也許你的代碼樣本可能會有所幫助。 – svick 2012-07-30 16:36:16
你究竟如何提升'TaskCompletedEvent'?你從UI線程做到這一點嗎? – svick 2012-07-30 16:38:10
@svick是的,我從UI線程中獲取它。我認爲弗拉德回答了我的問題。我只需要測試一些代碼以確保正確理解它。 – Justin 2012-07-30 16:41:36