多线程的两种实现方法

单线程:安全性高,效率低
多线程:安全性低,效率高
一、
多线程的第一种实现方式:创建一个继承Thread的类,实现run()方法,然后在另一个类中创建该类的对象,通过对象去调用多线程中的方法。
代码如下:

1.创建继承Thread的类

package test1;

public class MyThread extends Thread{
public void run() {
for (int i = 0; i < 100; i++) {
System.out.println(getName()+”:”+i); //得到线程名字
}
}
}

2.创建对象实现多线程
package test1;

public class MyThreadDemo {
public static void main(String[] args) {
MyThread mt = new MyThread();
mt.setName(“范冰冰”); //修改线程名字
mt.start();

    MyThread mt2  = new MyThread();
    mt2.setName("胡歌");
    mt2.start();
}   

}

二、
多线程的第二种实现方法:创建一个类实现Runnable接口,也是实现run()方法,后面的步骤相同,因为eclipse里面是单一继承的,通过实现接口可以让该类可以继承其他的类。

代码如下:
1.实现接口和方法
package test2;

public class MyThread2 implements Runnable{

public void run() {
    for (int i = 0; i < 100; i++) {

// Thread tr = Thread.currentThread();
// System.out.println(tr.getName()+”:”+i);
//因为实现接口之后没有getName()方法,所以通过类去调用方法
System.out.println(Thread.currentThread().getName()+”:”+i);
}
}

}

2.开启线程
package test2;

public class MyThreadDemo2 {
public static void main(String[] args) {
MyThread2 mt = new MyThread2();
Thread td = new Thread(mt);
td.setName(“张三”);
td.start();

    Thread td2 = new Thread(mt);
    td2.setName("李四");
    td2.start();
}

}

猜你喜欢

转载自blog.csdn.net/StreamlineWq/article/details/81708104