美文网首页
[iOS] cxx_destruct 时 dispatch_s

[iOS] cxx_destruct 时 dispatch_s

作者: manajay | 来源:发表于2018-05-17 16:08 被阅读54次

ARC 下 销毁一个对象, 如果执行 cxx_destruct时, 仍然有 访问其成员变量的情况,就会导致崩溃

当某个dispatch_semaphore_t正处于dispatch_semaphore_wait的时候,释放这个dispatch_semaphore_t的引用(sema = nil),将会导致崩溃
在semaphore调用dispose的时候不能让currentValue < originValue, 
如果出现就会导致指令执行错误, 系统发出sigill信号中断程序执行
导致信号量在释放的时候, currentValue为-1, 最终程序强制终止。

相关文章

网友评论

      本文标题:[iOS] cxx_destruct 时 dispatch_s

      本文链接:https://www.haomeiwen.com/subject/jenbdftx.html