最近在修改組里的TMonitor程序頭疼壞了,程序的好多類在設計之初沒有考慮線程安全性,現在在源程序上加功能,怎一個痛苦了的。。。
楊哥(我剛到公司時接手他的程序)是個大牛,他在地圖的方面開始設計的很好,但是都是靜態數據,沒有數據的動態變化的麻煩,然而后來在
JMapEdit上實現模擬動態飛行以及動態監控上實現起來是個頭疼的問題,可能會多個線程訪問共享變量,而且有線程對共享變量的write操作,在程序中盡量調整原接口以及實現方式。楊哥走了,目前在組里只有我一個人了解地圖類編程,昨天跟方sir商量新來的同事是否也能接觸我的程序,方sir的回答:TMonitor還是比較難的,估計新來的同事(是個女的)不成,下次招個男的讓他接。。。不爽中,俺還是希望帶個女滴。。。
PS:經驗總結。
在沒有正確同步的情況下,如果多線程訪問同一個變量,你的程序就存在隱患。有3種方法修復它:
- 不要多線程共享變量
- 使狀態變量為不可變的;或者
- 在任何訪問狀態變量的時候使用同步
設計線程安全的類時,使用
封裝、不可變性以及明確的不便約束等面向對象技術可以使你在解決同步方面的問題時思路清晰
posted on 2008-03-05 15:50
如果有一天de 閱讀(241)
評論(0) 編輯 收藏 所屬分類:
java線程