面试必问篇—多线程实现对统一基本类型的值的更改
具体实现代码如下:
public class ThreadFour {
public static void main(String[] args) {
int i=10;
Thread threadOne=new Thread(new Runnable() {
@Override
public void run() {
// TODO Auto-generated method stub
System.out.println(Thread.currentThread().getName()+"将i减一后i的值为:"+(i-1));
}
},"线程1");
Thread threadTwo=new Thread(new Runnable() {
@Override
public void run() {
// TODO Auto-generated method stub
System.out.println(Thread.currentThread().getName()+"将i加一后i的值为:"+(i+1));
}
},"线程2");
threadOne.start();
threadTwo.start();
System.out.println("主线程"+Thread.currentThread().getName()+"将i*2后i的值为:"+(i*2));
}
}
运行结果如下所示:
主线程main将i*2后i的值为:20
线程1将i减一后i的值为:9
线程2将i加一后i的值为:11
总结:通过使用匿名类来实现Runnable接口作为创建线程的target,匿名类重写了Runnable() 接口的run() 方法。