zoukankan      html  css  js  c++  java
  • 多线程的一道有趣问题

    class MyThread extends Thread{      public void run(){       System.out.println("MyThread: run()");      }      public void start(){       System.out.println("MyThread: start()");      }     }     class MyRunnable implements Runnable{      public void run(){       System.out.println("MyRunnable: run()");      }      public void start(){       System.out.println("MyRunnable: start()");      }     }           MyThread myThread = new MyThread();     MyRunnable myRunnable = new MyRunnable();     Thread thread = new Thread(myRunnable);     myThread.start();     thread.start();

    伤处程序执行结果是什么?

    答案:

    MyThread: start() MyRunnable: run()

    分析:

    (一)MyThread 继承自 Thread,且覆盖了start()方法,所以当其实例start()时,不会在执行run()方法中的代码。其实这也是个“没用的线程了”。

    所以先打印:MyThread: start() 。

    (二)MyRunnable 实现了Runnable 接口,Runnable 接口就一个run()方法。

    Thread thread = new Thread(myRunnable); 这句代码,根据Runnable 的实例创建了一个Thread实例,该Thread实例的start方法会执行run()方法中的代码。

    所以又打印:MyRunnable: run()

    总结,Runnable 接口,就一个方法 :run() 。本人觉得这个接口仅仅是一种标记而已(类似 Serializable),或者为了以后扩展使用。而真正有意义的是它的实现:Thread。

  • 相关阅读:
    一,初次接触html+css需要注意的小问题
    Pycharm如何在控制台输出窗口中使用Python解释器
    Silver Cow Party POJ
    Constructing Roads POJ
    小希的迷宫 HDU
    Wireless Network POJ
    Scanner读取记事本文件内容为空的解决办法
    mysql limit的使用方法
    Can you find it? HDU-2141 (二分查找模版题)
    【2028-07-18】精力是有限的,但智慧是无限的
  • 原文地址:https://www.cnblogs.com/heartstage/p/3422429.html
Copyright © 2011-2022 走看看