以我的cocos2d遊戲我有一個一些球必須被破壞,並且有2個線程,其是同時彼此,第一線程添加球到的NSMutableArray,和第二螺紋迭代通過這個數組和調用每個球,我已經把與陣列的每個操作在同步塊與@synchronized(陣列)釋放的方法,但其不影響和在同步塊應用每次拋出異常__NSArrayM物而被枚舉突變: 也許有其他方式同步線程?爲Cocos2D中應用線程同步
0
A
回答
1
既然你從一個線程添加對象和迭代與另一個線程在同一陣列上,似乎毫無意義,以多線程代碼的這一部分。
的原因是,你can not modify an array while iterating過它,無論你在同一個線程或多個線程內做到這一點。
你很可能會通過使用兩個陣列,每個線程,每個線程perfoming相同的任務得到更好的結果:既要添加的對象,那麼這兩個迭代在他們的對象的一半一半。如何分割對象取決於您,它可能基於屏幕座標(屏幕分割)或其他一些條件(即每個線程處理的對象的平衡數量)。
+0
我想問一個關於cocos2d的問題,它是如何處理日程安排的?因爲這個問題主要是在iPhone 4上造成的,但在iPhone 3G上它工作正常,在遊戲中還有一個Box2d,有時候我在ContactListener方法上更改了這個數組,但在這個方法中,我也把它放到同步塊中,cocos2d使用單線程的所有日程安排?我不手動創建一個線程,我只假設,如果在3g它的工作似乎在4有多個線程來處理schedlues和它崩潰的應用程序 – 2012-02-18 12:07:25
相關問題
- 1. C#winforms應用程序線程同步
- 2. iPhone應用程序中的異步與同步與線程
- 3. 同步線程中的同步問題
- 4. 線程同步
- 5. 線程同步
- 6. 線程同步
- 7. 線程同步
- 8. 線程/同步
- 9. 線程同步
- 10. 同步線程
- 11. 線程同步
- 12. 線程同步
- 13. 多線程,線程同步
- 14. 同步線程減慢多線程應用程序
- 15. 線程同步VS進程同步
- 16. 離線和在線同步HTML5中的Web應用程序?
- 17. 使用WINAPI同步線程
- 18. 在java中同步線程
- 19. 在C中同步線程#
- 20. Lisp中的線程同步
- 21. qt中的線程同步
- 22. C#中的線程同步?
- 23. 在ruby中同步線程
- 24. Python中的線程同步
- 25. WinCE中的線程同步
- 26. java中的線程/同步
- 27. Django中的線程同步
- 28. 在線程中同步Hashmap
- 29. Python線程同步
- 30. 線程和同步
你可以發佈迭代/添加的實際代碼? – Tudor 2012-02-16 16:23:10