在多人在線遊戲中。如何保持變量的全局?我們正在開發一個在線遊戲,我們需要一個全局變量。將會有一個服務器和多個客戶端。我們可以保留一個靜態的,可由所有客戶端同步的公共變量。我們可以提出一些建議嗎?如何在java中創建一個全局變量
0
A
回答
4
如果您曾經遷移到集羣,那麼擁有基於堆的變量將會成爲一個問題,因爲它不會足夠全球化(每個節點將有單獨的副本)。
如果這不是問題,並且如果用「變量」表示一個簡單的東西就像一個String或Long,那麼最好的選擇是使用java.util.concurrent.Atomic*
類。例如,
public static final AtomicLong id = new AtomicLong();
這樣做的最重要的優勢是它可以使用比較並交換和獲取和設置用原子方式更新,例如id.getAndIncrement();
0
的服務器必須控制變量。
當客戶想要對該變量進行修改時,他們不會改變它,他們必須向服務器發送一條消息,告訴新的想要的值。服務器存儲它並向所有客戶端廣播一條消息,然後它們都用新值更新該變量。
當然,如果服務器本身修改,它只是廣播新值。
0
-public static final
用於在Java中創建變量Global。
-但隨後volatile
必須用於此,使得操作直接發生到所述存儲器和從存儲器直接讀取。
-最好是使用java.util.concurrent.Atomic
中的類。
-您可以使用AtomicInteger
,AtomicLong
,AtomicReference
等....
相關問題
- 1. 如何創建一個全局變量?
- 2. 在一個類中創建一個es6變量全局變量
- 3. 如何在C#中創建一個全局變量?
- 4. 如何在django模板中創建一個全局變量?
- 5. 如何在javascript中創建一個全局變量(使用webpack)
- 6. 如何在sql server 2008中創建一個全局變量
- 7. 如何在android中創建一個全局變量?
- 8. 如何在angularjs中創建一個全局變量?
- 9. 用JavaScript創建一個全局變量
- 10. 創建一個全局變量rails 3.1
- 11. 如何在Hadoop MapReduce的Java實現中創建全局變量?
- 12. 如何創建帶有全局變量
- 13. 如何創建jQuery的全局變量
- 14. 如何創建全局變量?
- 15. Mule Studio如何創建全局變量
- 16. 如何在一個類中創建一個全局函數的變量?
- 17. 如何使用局部變量創建全局變量?
- 18. 在TypeScript中創建全局變量
- 19. 在Postgresql中創建全局變量
- 20. 在Objective C中創建全局變量
- 21. 在asp.net中創建全局變量C#
- 22. 創建全局變量?
- 23. 創建全局變量
- 24. 如何在extensions.conf中引用另一個全局變量中的全局變量?
- 25. 如何創建一個動態命名的全局變量?
- 26. 如何在Webpack中創建可變的全局變量
- 27. 如何在asp.net MVC 5中創建全局常量變量
- 28. 是否可以在Opa中創建一個全局變量?
- 29. 在Jquery中創建一個全局變量值
- 30. 在powershell中創建一個新的全局變量
你聽說過公共靜態? – aaronps
@aaronps你讀過所有的問題嗎? –
似乎我沒有讀完整個問題。 – aaronps