![](https://static.youtibao.com/asksite/comm/h5/images/m_q_title.png)
一个线程对象的具体操作是由run()方法的内容确定的,但是Thread类的run()方法是空的,其中没
一个线程对象的具体操作是由run()方法的内容确定的,但是Thread类的run()方法是空的,其中没有内容;所以用户程序要么派生一个Thread的子类并在子类里重新定义run()方法,要么使一个类实现Runnable接口并书写其中run()方法的方法体。()
![](https://static.youtibao.com/asksite/comm/h5/images/solist_ts.png)
一个线程对象的具体操作是由run()方法的内容确定的,但是Thread类的run()方法是空的,其中没有内容;所以用户程序要么派生一个Thread的子类并在子类里重新定义run()方法,要么使一个类实现Runnable接口并书写其中run()方法的方法体。()
A.实现接口Runnable的类仍然可以继承其他父类
B.创建实现Runnable接口的类后,就可以用start方法启动线程了
C.Runable接口提供了通过线程执行程序的最基本的接口
D.Runnable只定义了一个run方法
A.实现java.lang.Runnable接口并重写start()方法
B.实现java.lang.Runnable接口并重写run()方法
C.继承java.lang.Thread类并重写run()方法
D.实现java.lang.Thread类并实现start()方法
A.一个线程是一个Thread类的实例
B.线程从传递给线程的Runnable实例的run()方法开始执行
C.线程操作的数据来自Runnable实例
D.新建的线程调用start()方法就能立即进入运行状态
A.实现java.lang.Runnable接口并重写start方法
B.实现java.lang.Runnable接口并重写run方法
C.继承java.lang.Thread类并重写run方法
D.实现java.lang.Thread类并实现start方法
A.public class X implements Runable {public void run(){...,.,}}
B.public class X implements Thread {public void run(){......}}
C.public class X implements Thread {public int run(){……}}
D.public class X implements Runable {protected void run(){.....}}
A.程序不能通过编译,因为start()方法在Test类中没有定义
B.程序编译通过,但运行时出错,提示start()方法没有定义
C.程序不能通过编译,因为run()方法没有定义方法体
D.程序编译通过,且运行正常
A.通过继承 Thread 类与实现 Runnable 接口都可以创建多线程程序
B.实现 Runnable 接口相对于继承 Thread 类来说,可以避免由于 Java 的单继承带来的局限性
C.通过继承 Thread 类与实现 Runnable 接口创建多线程这两种方式没有区别
D.大部分的多线程应用都会采用实现 Runnable 接口方式创建