我有一個類創建作爲一個線程。哪個線程是處理對象的事件處理?
在那個類中,我創建了一個對象。這個對象有一個事件,它對我的線程類中創建的方法執行回調。
那麼,我的主應用程序/ GUI線程創建這個線程&啓動它。
此時,我的主要GUI線程處於空閒狀態(等待鍵盤事件)&我的線程的execute方法位於無限循環(等待終止)。
然後,創建的對象檢測到一些事件,觸發一個事件,這會觸發回調到線程類方法。
接下來的問題是,這個方法執行哪個線程/進程? 我的主應用程序線程(& GUI處理程序)? 或者我開始的線程,它創建了觸發事件/回調的對象?
我假設主應用程序線程被中斷。這是正確的嗎?
您還沒有提供足夠的信息來說明執行回調的線程。回調可能是一個APC排隊到創建該對象的線程(即'我開始的線程'),或直接從內核線程回調或從另一個進程通過線程回調。共享內存。您的主應用程序線程可能會或可能不會在回調時運行 - 通常,對於任何可能正在運行主線程的處理器內核而言,沒有理由因爲某些回調已被某些地方執行而被中斷線。 –
@馬丁詹姆斯他沒有提供足夠的信息,因爲他是通靈但忘了我們不是:) –