6
A
回答
4
在傳遞對象的新線程內遞增計數幾乎肯定是錯誤的。 「父」線程中的任意數量的代碼可能會在新的「子」線程運行之前運行,在這種情況下,「父」中的函數可能會返回,執行其他操作,將引用計數遞減爲0 ,並釋放該對象。然後新的線程會觸發無效的內存,調用未定義的行爲,並且所有的地獄都會破壞。
此外請注意,這樣的錯誤很可能會在很長一段時間內未被發現,因爲新線程不會立即運行,這在統計上是不尋常的。事實上,它可能會是您的客戶/客戶誰首先看到錯誤... :-)
+0
謝謝!這是我無法想象的那一塊......關於父母在孩子可以主張之前釋放參考的一點點。 – 2011-05-11 13:52:34
相關問題
- 1. 使用@property(copy)和@property(retain)的經驗法則是什麼?
- 2. 什麼是暴露封裝類方法的經驗法則
- 3. 是否ALLOC方法遞增對象的引用計數
- 4. 爲什麼計數器遞增?
- 5. 關於Swing組件擴展,什麼是經驗法則?
- 6. 使用規則引擎的經驗
- 7. 什麼是安全遞增整數的方法?
- 8. 什麼是自動引用計數?
- 9. 爲什麼setFrame會增加圖層的引用計數?
- 10. Python導入有什麼好的經驗法則?
- 11. 有什麼會導致「EXCEPTION_ACCESS_VIOLATION(0xc0000005)」的一般經驗法則?
- 12. GDI中的經驗法則+
- 13. 什麼是決定__get__,__getattr__和__getattribute__之間的一些經驗法則?
- 14. 對於最大下拉列表選項,最好的經驗法則是什麼?
- 15. Nunit什麼是您的經驗
- 16. 在C#項目之間添加引用的經驗法則?
- 17. 遞增計數器
- 18. GWT:100 LOC經驗法則?
- 19. 遞增dateadd的計數器
- 20. 爲什麼不是指針遞增
- 21. 什麼是有趣的想法實驗人工神經網絡?
- 22. 聚合遞歸神經網絡的方法是什麼?
- 23. 爲什麼NSSet objectEnumerator遞增保留計數?
- 24. 簡單的遞增/遞減計數器
- 25. JavaFX - 爲什麼分數不會遞增?
- 26. 什麼是添加增量遞減函數的最佳方式
- 27. CtrlP加載時出現的遞增數字是什麼?
- 28. 您使用TIBCO通用界面的經驗是什麼?
- 29. Ruby:計數器,計數和遞增
- 30. CFUNCTYPE的增量引用計數器
這是什麼技術參考?不同的技術可能有不同的答案。 (@closevoter:對我來說似乎是一個真正的問題,可能需要一點澄清,但是...) – 2011-05-11 12:37:14
好點,我特指C,但我認爲它可能適用於任何不有本地實施的參考計數。 – 2011-05-11 12:39:08