不推荐使用suspend、stop、resume。以suspend为例,调用后,线程不会释放已占有的资源(比如锁),而是占着资源进入睡眠状态,这样容易引起死锁问题。stop方法在结束时,不能保证线程资源的正常释放。
volatile和synchronized
volatile变量能保证一个线程对改变量的更新,会刷新到主内存中去,并且保证其他线程获取的数据必须从主内存中获取。
每一个对象都有自己的监视器。同步方法、同步方法块,需要先获取监视器,获取不到则阻塞等待监视器。
不推荐使用suspend、stop、resume。以suspend为例,调用后,线程不会释放已占有的资源(比如锁),而是占着资源进入睡眠状态,这样容易引起死锁问题。stop方法在结束时,不能保证线程资源的正常释放。
volatile和synchronized
volatile变量能保证一个线程对改变量的更新,会刷新到主内存中去,并且保证其他线程获取的数据必须从主内存中获取。
每一个对象都有自己的监视器。同步方法、同步方法块,需要先获取监视器,获取不到则阻塞等待监视器。