我知道兩個線程是否正在寫入同一個地方我需要確保它們以安全的方式執行並且不會造成任何問題,但如果只有一個線程讀取並完成所有寫入而另一個剛剛讀。只有一個線程正在寫入時的線程安全
在我的情況下,我第一次在小遊戲中使用了一個線程來保持渲染的獨立性。完成所有渲染的類將永遠不會寫入它讀取的任何內容,所以我不再確定是否需要處理每個讀取和寫入它們共享的所有內容。
我會採取正確的步驟來確保渲染器不會嘗試讀取任何不再存在的內容,但在調用像播放器和實體的getters那樣的東西時,我是否應該以相同的方式對待它們?或者將像x,y線和布爾值這樣的值設置爲「活着」來進行波動操作?
我的理解已成爲這個非常陰暗,可能有一些啓發
編輯做的:共享的數據將是任何需要繪製和移動,並存儲在對象的列表。 例如玩家和其他實體;
不知道,但我想你只是需要確保讀者線程有最新的信息。看看'volatile'關鍵字。 – Leri
什麼是共享數據?數組?對象列表? – morgano
任何需要繪製和移動的東西都將被共享,並且是對象列表 –