2016-11-24 37 views
0

我正在使用android。請幫助提供任何建議。 我有3個方法(線程)。java/android - 如何保證一個線程或方法是否正在運行,沒有人可以觸發它?

Method_1 { trigger Method_3; ...} 
    Method_2 { trigger Method_3; ...} 
    Method_3 { ... } 

我怎樣才能確保Method_3只能通過Method_1Method_2被觸發? 換句話說,如果Method_1Method_2之前執行,如果Method_3仍在運行,則Method_2將跳轉到觸發器Method_3。或者,如果Method_1Method_2之前執行,則Method_2將觸發Method_3,如果Method_3已由Method_1觸發。 同樣的問題,我怎麼在3個線程這樣做......

Thread_1 { trigger Thread_3; ...} 
    Thread_2 { trigger Thread_3; ...} 
    Thread_3 { ... } 

因爲Thread_3(Method_3)是關係到一些全局變量插座。我想保證這個線程/方法是否正在運行,沒有其他人可以觸發它,因爲它試圖連接到網絡的另一端。 謝謝你的幫助!

回答

0

使用類變量來保存引用什麼的引用。聽起來就像你需要對方法和布爾狀態標誌的引用。

您可以使用緩存來存儲結果,首選項或與Activity分離的全局多個值,例如異步線程。

如果線程是從同一個類管理的,那麼您可以使用您在storedInstance中銷燬時存儲的類變量,然後將它們加載回onCreate中。

+0

這真的很有幫助!它現在有效!感謝您的幫助! –

+0

不用擔心,很高興;) –

0

使用帶有全局變量和靜態變量的類來處理線程。如果線程3觸發了類中的更新變量,以避免任何線程觸發它。 希望能幫到你。

+0

這真的很有幫助!它現在有效!感謝您的幫助! –

相關問題