A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

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在多个线程之间切换有额外开销,效率低于第一种)
  多线程下载,只是为了抢占更多的服务器资源
*/

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马