美文网首页
Java多线程_面试笔试真题

Java多线程_面试笔试真题

作者: 暖熊熊 | 来源:发表于2017-06-13 09:57 被阅读0次

    面试笔试真题:

    1. 实现多线程的方法有哪几种?
      答案:三种
    2. 实现Runnable接口,并实现该接口的run()方法。主要步骤如下:
      ①自定义类并实现Runnable接口,实现run()方法。
      ②创建Thread对象,用实现Runnable接口的对象作为参数实例化该Thread对象。
      ③调用Thread的start()方法
      代码如下:
    public class MyThread implements Runnable {
        public void run() {
            System.out.println("我创建的线程");
        }
        
        public static void main(String[] args) {
            MyThread m = new MyThread();
            Thread t = new Thread(m);
            t.start();
        }
    }
    
    1. 继承Thread类,重写run方法
    public class MyThread extends Thread {
        public void run() {
            System.out.println("我创建的线程");
        }
        
        public static void main(String[] args) {
            MyThread t = new MyThread();
            t.start();
        }
    }
    
    1. 实现Callable接口,重写call()方法。特点如下:
      ①Callable可以在任务结束后提供一个返回值,Runnable无法提供这个功能。
      ②Callable中的call()方法可以抛出异常,而Runnable的run()方法不能抛出异常。
      ③运行Callable可以拿到一个Future对象,Future对象表示异步计算的结果,他提供了检查计算机是否完成的方法。
    2. 三种方式中,哪种方式比较好
      一般推荐实现Runnable接口,因为Thread类定义了很多方法可以被派生类实现或重写,但是只有run()方法必须被重写,在run方法中实现这个线程的主要功能,这也是实现Runnable接口的同样的方法。一般一个类只有在被需要加强的时候才去继承它。 这个类还可以去继承别的类。
    3. 多线程同步有几种实现方法?
      synchronized关键字
      未完待续

    相关文章

      网友评论

          本文标题:Java多线程_面试笔试真题

          本文链接:https://www.haomeiwen.com/subject/gyxdqxtx.html