微信

使用微信服务,更方便

职友集>Java面试题 > 介绍一下线程Thread类和Runnable 接口的使用

介绍一下线程Thread类和Runnable 接口的使用

2015-08-27 06:30:01 阅读( 2 )

1976人 收藏本页

标签:Java面试题

1、Runnable 接口 public interface Runnable Runnable 接口应该由那些打算通过某一线程执行其实例的类来实现。类必须定义一个称为 run 的无参数方法。 设计该接口的目的是为希望在活动时执行代码的对象提供一个公共协议。例如,Thread 类实现了 Runnable。激活的意思是说某个线程已启动并且尚未停止。 此外,Runnable 为非 Thread 子类的类提供了一种激活方式。通过实例化某个 Thread 实例并将自身作为运行目标,就可以运行实现 Runnable 的类而无需创建 Thread 的子类。大多数情况下,如果只想重写 run() 方法,而不重写其他 Thread 方法,那么应使用 Runnable 接口。这很重要,因为除非程序员打算修改或增强类的基本行为,否则不应为该类创建子类。

2、Thread 类
public class Thread extends Object implements Runnable 线程是程序中的执行线程。Java 虚拟机允许应用程序并发地运行多个执行线程。
a. Thread 类的构造方法
Thread()
Thread(Runnable target)
Thread(Runnable target, String name)
Thread(String name)
Thread(ThreadGroup group, Runnable target)
Thread(ThreadGroup group, Runnable target, String name)
Thread(ThreadGroup group, Runnable target, String name, long stackSize)
Thread(ThreadGroup group, String name)
b. 创建新执行线程的两种方法
(1)创建 Thread 类的子类。该子类应重写 Thread 类的 run 方法。
再创建线程时一般通过继承Runnable接口来实现,因为通过extends继承Thread实现存在一些缺陷。
(1) 受单继承的束缚,该类不能再继承其它类。
(2) 不能自由的实现数据共享。
(2)声明实现 Runnable 接口的类。然后实现Runnable 接口的run() 方法。创建该类的实例,在创建 Thread 时作为一个参数来传递并启动。

来自IT公司面试手册

下一篇:java里面如何创建一个内部类的实例?

上一篇:Java的HashSet里面是如何比较两个对象是否相等的?

亲~ 如果您有更好的答案 可在评论区发表您独到的见解。

您想查看更多的信息: 面试题