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