本帖最后由 lwy0319 于 2014-3-22 00:15 编辑
- class MyThread implements Runnable{
- private int a=10;
- public void run() {
- for(int i=0;i<100;i++){
- if(this.a>0)
- System.out.print(Thread.currentThread().getName()+" a="+a--+" ");
- }
- }
- }
- public class Demo {
- public static void main(String[] args){
- MyThread mt = new MyThread() ;
- new Thread(mt,"线程1").start();
- new Thread(mt,"线程2").start();
- }
- }
复制代码 多线程学得不太顺利。。我按照一个例子讲的为了区分Runnable接口子类和Thread类的区别(区别在于是否共享类属性),代码如上,但是运行发现还是跟理论上有点儿不同结果如图所示,感觉与理论结果差得并不离谱。请问是否是双核的原因?如果是双核原因,出来两个a=10可以理解,整体确实是递减显示的,可是为什么a=6会在倒数第二个显示?有一种a=6先运行后打印出来的感觉,但是我是在打印命令中才让a--的,感觉不应该出现顺序错乱。。
|
|