现下定义:
首先说一下什么是线程安全,以方法的线程安全为例,当有多个线程访问这个方法时,无论这些线程以怎样调用方式或者执行顺序去执行这个方法,这个方法的执行结果都是我们设想的正确结果,就称该方法为线程安全的。
再说方法:
保证线程安全的方法有:
1,synchronized:
当一个synchronized锁住了一个对象后,其他线程如果想要获取所对象,就必须要获取到锁的线程执行完释放了锁才可以。并且被synchronized修饰的实例方法锁住的是对象本身,也就是this。
2,Lock
常用方式:Lock lock = new ReentrantLcok();
if(lock.tryLock()){
try{
}finally{
lock.unlock();
}
}