我正在開發具有多個線程的Android應用程序 - 其中之一是每秒從GPS接收器獲取數據1次。我希望其他線程能夠訪問GPS線程中的信息。Android多線程應用程序 - 共享狀態
我已經試着用消息隊列來做它,但它使代碼變得非常混亂 - 我創建的所有新線程都必須以自己的方式處理消息,所以我必須在每個線程類中執行大量新的實現。
我想能夠簡單地得到這樣的數據:
ApplicationState.getLocation();
這樣我就可以使用最新的數據。我怎樣才能做到這一點?我不想用synchronized字段創建靜態類,因爲我不想鎖定線程太久,因爲我正在其他線程中進行一些在線圖像分析。
這裏最好的方法是什麼?
乾杯, Nebril
你可能想看看你的座標變量的volatile關鍵字,因爲你似乎只需要'(x,y,z)'這個3'double':[小小的howto](http:// www .javamex.com/tutorials/synchronization_volatile.shtml) – nkr
我想通過一些共享不同變量的通用方式。此外,引用http://en.wikipedia.org/wiki/Volatile_variable#In_Java「(但是,不能保證volatile讀寫的相對順序與常規讀寫相關,這意味着它通常不是有用的線程構造。)「 – Nebril