线程内部嵌套线程,线程改变final修饰的对象的属相

来源:互联网 发布:四川眉山广电数据机房 编辑:程序博客网 时间:2024/04/30 06:33

实验证明:final修饰对象的情况下结合多线程,证明:final修饰的对象属性可以改变;final修饰的对象属性可以在多线程中改变;线程中可以包含线程。


import java.util.concurrent.Executor;

import java.util.concurrent.Executors;


import Pay;//一个实体类,含有set和get方法,下面只用到了属性 String pay;




public class test {

private final static Executor executor = Executors.newCachedThreadPool();//线程声明


public static void main(String[] args) {
final Pay pa=new Pay();
System.out.println(pa.getNo()+";第一次");
pa.setPay("1");
System.out.println(pa.getPay()+";第二次");

//外部的线程开始
executor.execute(new Runnable() {
@Override
public void run() {
// TODO Auto-generated method stub
try{
pa.setPay("2");
System.out.println(pa.getPay()+";第三次");

//内部嵌套的第一个线程开始
executor.execute(new Runnable() {


@Override
public void run() {
// TODO Auto-generated method stub
try{
pa.setPay("3");
System.out.println(pa.getPay()+";第4次");
}catch(Exception e){

}

}

});
//内部嵌套的第一个线程结束


//内部嵌套的第二个线程开始
executor.execute(new Runnable() {


@Override
public void run() {
// TODO Auto-generated method stub
try{
pa.setPay("5");
System.out.println(pa.getPay()+";第5次");

}catch(Exception e){

}

}

});
//内部嵌套的第二个线程结束
}catch(Exception e){

}

}

});
//外部的线程结束
}


}
0 0
原创粉丝点击