跨线程引发的崩溃:
1.正常跨线程调用
a.跨线程造成死锁
b.跨线程释放内存
c.多线程并发访问(例如:进入一个界面时,该界面会同时发起三个异步请求操作。每个操作在发起数据请求时,都可能会调某一方法进行存取某一属性值)
d.线程本身有问题,调用此线程也会挂掉。(执行本段逻辑均会挂掉)
e.线程调用后未sleep,一直占用cpu,导致程序直接被杀死
f. 对公有变量的同时读或写。(当多个线程需要对公有变量进行写操作时,后一个线程往往会修改掉前一个线程存放的数据,从而使前一个线程的参数被修改;另外,当公用变量的读写操作是非原子性时,在不同的机器上,中断时间的不确定性,会导致数据在一个线程内的操作产生错误,从而产生莫名其妙的错误,而这种错误是程序员无法预知的)、
2.异常跨线程调用
同步锁出现问题(在不应该解锁的地方提前解锁,导致其他线程访问到此处的内容,引发了异常)