1、线程安全
每个进程都会被系统分配一块公共区域,该区域就是堆(内存),该进程的所有线程都能访问该堆(内存)的数据,在不受限制的情况下存在被意外修改的风险,这就是线程安全。存在竞争的线程就是不安全的,不存在竞争的线程就是安全的。
2、死锁
所谓死锁是指多个并发线程因竞争系统资源而处于互相等待的现象。例如线程1锁住了A,尝试着对B进行加锁,同时线程2锁住了B,接着尝试着对A进行加锁,这时就死锁产生了。线程1永远得不到B,线程2永远得不到A。为了同时获取A、B,这两个线程会一直处于阻塞状态,这种情况就是一种死锁。