您的位置:首页 > 编程语言 > Java开发

Java多线程实现的2个方式

2016-01-28 10:41 351 查看
Java里面实现多线程的方法

1.继承 Thread类:

  class MyThread extends Thread {
  public void run() {
  // 这里写上线程的内容
  }
  public static void main(String[] args) {
  // 使用这个方法启动一个线程
  new MyThread().start();
  }
  }


2.实现 Runnable接口:

一般鼓励使用第二种方法,因为Java里面只允许单一继承,但允许实现多个接口。第二个方法更加灵活。

  class MyThread implements Runnable{
  public void run() {
  // 这里写上线程的内容
  }
  public static void main(String[] args) {
  // 使用这个方法启动一个线程
  new Thread(new MyThread()).start();
  }
  }


代码例子:

方法1的例子

package com.test.thread;

public class TestThread1 {

public static void main(String[] args) {
Runner1 runner = new Runner1();
// runner.run();//不能直接调用run方法
runner.start();

for (int i = 0; i < 100; i++) {
System.out.println("Main Thread: --------" + i);
}
}
}

class Runner1 extends Thread { // 继承Thread类

public void run() {
for (int i = 0; i < 100; i++) {
System.out.println("Runner1:" + i);
}
}
}


方法2的例子(推荐):

package com.test.thread;

public class TestThread2 {

public static void main(String[] args) {
Runner2 runner = new Runner2();
// runner.run();//不能直接调用run方法
Thread thread = new Thread(runner);
thread.start();

for (int i = 0; i < 100; i++) {
System.out.println("Main Thread: --------" + i);
}
}
}

// 实现Runnable接口,能使用接口就用接口,接口比较灵活
class Runner2 implements Runnable {
public void run() {
for (int i = 0; i < 100; i++) {
System.out.println("Runner2:" + i);
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: