package com.itheima.thread;
public class ThreadDemo1 {
/**
* @param args
*/
public static void main(String[] args) {
// TODO 自动生成的方法存根
new Thread(new Runnable(){
@Override
public void run() {
// TODO 自动生成的方法存根
System.out.println("runnable");
}
}){
@Override
public void run(){
System.out.println("thread");
}
}.start();
}
}
/*
问题一:
如果在Thread子类覆盖的run方法中编写了运行代码,
也为Thread子类对象传递了一个Runnable子类对象,
那么,线程运行时的执行代码是子类的run方法的代码?还是Runnable对象的run方法的代码?
子类run方法的代码这是因为在Thread类的run方法:
public void run() {
if (target != null) {
target.run();
}
}
一旦复写,不在去找Runnable接口子类对象的run方法
问题二:
多线程机制会提高运行效率吗?为什么会有多线程下载吗?
不会(类比一次拷贝一个文件,一次拷贝多个文件,第二种方式CPU在多个线程之间切换有额外开销,效率低于第一种)
多线程下载,只是为了抢占更多的服务器资源
*/ |
|