嘿,夥計們,我剛剛開始圍繞客觀的C圍繞我的頭,並且正在Iphone上做一個小項目。我剛遇到一個奇怪的問題。我不得不在我的程序中處理圖像,所以我有很多局部變量聲明爲temp [width] [height]。如果我不使用NSThread來執行圖像處理,它會很好地工作。但是,如果我使用NSThread,每當我嘗試訪問聲明爲temp [widht] [height]的2-D數組時,它都會繼續給我EXC_BAD_ACCESS。所以我必須從堆中分配內存纔能有一個2-D數組。這將解決問題,但我仍然不明白。我的第一個想法是堆棧溢出,但它在一個線程中運行良好。我只是不明白。目標C中的線程和二維數組?
回答
在線程完成數組之前,數組本身的方法可能會終止,因此您的數組超出了作用域,並且內存被佔用而被用於其他事情。但是你的線程不知道這一點,並且無論如何都訪問內存。
有沒有辦法處理那種問題?我在多線程技術上是noob ... – user302581 2010-03-26 15:03:11
多線程是非常複雜的,並且還有很多問題需要處理(比賽條件,死鎖等) - 您可能需要閱讀這些內容。對於這個特定的問題,您應該在堆上分配共享資源,或者最好使用NSArray(無論如何都分配在堆上)的Objective-c對象。 – shosti 2010-03-26 15:34:17
謝謝你們!我發現了這個問題。它是堆疊式的。我創建了一維數組並嘗試訪問,但仍然不是。然後我把它做得更小,並且工作。我認爲通過在添加線程之前調用方法來設置堆棧大小,或者從堆中分配內存將使其工作。默認情況下,不確定爲線程分配了多少堆棧內存。 – user302581 2010-03-26 18:30:25
- 1. 目標C中的二維數組
- 2. 目標中的二維數組C
- 3. 二維數組的目標C從C#
- 4. 如何在目標C中獲得二維數組的維數?
- 5. 聲明二維數組進程的維數和線程數
- 6. C編程 - 二維數組的總和
- 7. 二維數組和C++
- 8. C++中的二維數組
- 9. c中的二維數組#
- 10. C++中的二維數組
- 11. C#中的二維數組總和/ Linq
- 12. 線程在C++中,查找二維數組中的最大條目
- 13. 在目標c中的二維數組搜索
- 14. c中的二維到一維數組
- 15. 目標C中的多維數組
- 16. C - 二維數組
- 17. C++二維數組
- 18. 二維數組跨語言C++和C#
- 19. 循環和二維數組的C++
- 20. C/Objective-C中的二維數組
- 21. Objective-C中的二維數組Objective-C
- 22. 二維數組中的線性搜索
- 23. 二維數組中的總線錯誤
- 24. 二維數組和
- 25. 在C中分配二維數組中的一維數組#
- 26. 一維數組和二維數組
- 27. 查找帶有線程函數的二維數組中的最大條目
- 28. 二維數組C#的數組?
- 29. 指向數組和二維數組c的指針c
- 30. 如何創建一個二維數組目標C
我想我們需要看一個具體的例子。 – AnthonyLambert 2010-03-26 14:18:57
請發佈代碼。 – 2010-03-26 14:21:06