Runnable接口相比Thread类,可以实现对象资源共享我的代码是用for循环让多个线程数数,共10个数字,三个线程一起数结果三个线程给我数出30个数字来了我找过网上的博文,他们写的是卖票程序多个售票点(线程)一起售卖总共100张票我和他的代码进行对比,唯一的区别在于,循环计数时我用的是for循环,他用的是while于是我就修改了一下代码,发现用while循环就能实现我希望的:三个进程一起数10个数虽然实现了需求,但是我有疑问,为什么用for就会数出30个数?
请各位高手赐教,谢谢!
代码如下:
for循环的:
class Test22_06 implements Runnable{
public void run(){
for(int i=0; i<11; i++){
System.out.println("线程" + Thread.currentThread().getName() + "数了第" + i + "个数字。");
}
}
}
public class JavaTest22_06{
public static void main(String args[]){
Test22_06 t = new Test22_06();
new Thread(t).start();
new Thread(t).start();
new Thread(t).start();
}
}
while循环的:
class Test22_06 implements Runnable{
int i = 0;
public void run(){
while(i<11){
System.out.println("线程" + Thread.currentThread().getName() + "数了第" + (i++) + "个数字。");
}
}
}
public class JavaTest22_06{
public static void main(String args[]){
Test22_06 t = new Test22_06();
new Thread(t).start();
new Thread(t).start();
new Thread(t).start();
}
}
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。