今天爱分享给大家带来IOS开发中 多线程中崩溃的原因有哪些,希望能够帮助到大家。
多线程遇到需要同步的时候,加锁,添加信号量等进行同步操作。一般多线程发生的Crash,会收到SIGSEGV信号,表明试图访问未分配给自己的内存, 或试图往没有写权限的内存地址写数据。
1.死锁、子线程中更新UI、多个线程同时释放一个对象
2.在子线程中更新UI
3.dispatch_group crash,dispatch_group_leave的次数比dispatch_group_enter次数多
4.多线程下非线程安全类的使用,如NSMutableArray、NSMutableDictionary。NSCache是线程安全的。
5.数据缓存到磁盘和读取。