黑马程序员技术交流社区
标题:
多线程,cpu 内存问题
[打印本页]
作者:
心灵之歌
时间:
2013-8-18 17:01
标题:
多线程,cpu 内存问题
下面这个程序运行的结果是 'B' B"'A' 还是'‘B’ 'A‘ ’B‘’.为什么?
求大神指点...
public class ThreadTest {
public static void main(String args[]) {
MyThread t = new MyThread();
t.run();
t.start();
System.out.println("A");
}
}
class MyThread extends Thread {
public void run() {
try {
Thread.sleep(3000);
} catch (InterruptedException e) {
}
System.out.println("B");
}
}
作者:
a2213502
时间:
2013-8-18 17:33
结果是BAB, 首先从主线程开始执行,当执行到t.run()的时候,线程MyThread还没有开启,所以t.run();是调用run()方法,而主线程进去执行run方法的时候,也会sleep3000毫秒,输出一个B 然后执行t.start(); 这时候线程MyThread 才开启。主线程跟这个线程抢CPU的执行权,但是MyThread sleep 3000毫秒;所以先输出主线程的A 最后再输出B。
作者:
杨增坤
时间:
2013-8-19 23:25
这都不一定!看主线程和线程t那一个线程先抢占到了CPU了,
还要看在执行过程个如果交互的话,那么也会是另一种情况!
作者:
杨增坤
时间:
2013-8-19 23:25
这都不一定!看主线程和线程t那一个线程先抢占到了CPU了,
还要看在执行过程个如果交互的话,那么也会是另一种情况!
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2