Java 中函数内的变量不能用static修饰,修饰的话只能用final,所以没有不可重入问题?
可重入的意思是线程可以重复获得它已经持有的锁?不知你是否是这个意思。
静态方法中就可以定义静态变量
static只能修饰类的成员变量,而函数内的变量可以用final修饰,是考虑到闭包的问题,即这个final修饰的变量存在的时间可能比创建它的环境要长久。
例如下列代码,匿名函数创建的线程访问了外界函数的final变量,而匿名函数线程存在的生命周期可能要比fianl修饰的变量创建环境要长。
public static void main(String[] args){
final int count = 5;
new Thread(new Runnable(){
public void run(){System.out.println("running"+count);}
}).start();
}
这里的可重入是指线程中后再回来执行吗?感觉这跟static,final无关,中断的话变量这些还是会保存起来的~
这里的可重入是指线程中后再回来执行吗?感觉这跟static,final无关,中断的话变量这些还是会保存起来的~
静态变量 只能在静态方法中定义
同问这里的“可重入”是指的是?