首页 > 代码库 > Java多线程实现2,实现Runnable接口
Java多线程实现2,实现Runnable接口
Java 程序只允许单一继承,即一个子类只能有一个父类。所以在Java中如果一个类继承了某一个类,同时又想采用多线程技术的时,就不能用继承Thread类的方式产生线程了,因为Java不允许多继承。这时就要用Runnable接口来创建线程了。采用实现Runnable接口方式实现多线程的大致步骤如下:
- 定义一个新的类实现Runnable接口,假设此类名为TestThread。
- 在TestThread类中实现run()方法,此方法即为新线程的运行程序代码。
- 创建TestThread类的对象t1,再以t1为参数创建Thread类的对象并调用此对象的start()方法。
下面是采用此方式实现多线程的一个示例:
public class ThreadDemo9_2{ public static void main(String args[]) { TestThread t = new TestThread(); new Thread(t).start(); //循环输出 for(int i = 0; i < 1000; i++) { System.out.println("main线程在运行"); } }}class TestThread implements Runnable{ public void run() { for(int i = 0; i < 1000; i++) { System.out.println("TestThread在运行"); } }}
为什么实现了Runnable接口还需要调用Thread类中的start()方法才能启动多线程呢?读者通过查找JDK文档就可以发现,在Runnable接口中只有一个run()方法,并没有start()方法。所以一个类实现了Runnable接口也必须用Thread类中的start()方法来启动多线程。这点可以通过查找JDK文档中的Thread类发现,在Thread类之中,有这样一个构造方法:
public Thread(Runnable target)
由此构造方法可以发现,可以将一个Runnable接口的实例化对象作为参数去实例化Thread类对象。在实际的开发中,应尽可能去使用Runnable接口去实现多线程机制。
Java多线程实现2,实现Runnable接口
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。