首页 > 代码库 > Java基础之线程的两种实现方式

Java基础之线程的两种实现方式

    进程是指一个内存中运行的应用程序,每个进程都有自己独立的一块内存空间,一个进程中可以启动多个线程!线程总是属于某个线程,进程中的线程共享进程的内存

    注意:对Java来说,run()方法没有任何特别之处。像main()方法一样,它只是新线程知道调用的方法名称(和签名)。因此,在Runnable上或者Thread上调用run方法是合法的。但并不启动新的线程,启动新的线程要调用start()方法

    在Java中提供了两种方式实现线程:1、继承Thread类 

package unit_fifteen;public class TestThread extends Thread {    private String name;    public TestThread(String name) {        this.name = name;    }    @Override    public void run() {        for (int i = 0; i < 5; i++) {            for (int j = 0; j < 2; j++) {                System.out.println(name + ":" + i);            }        }    }    //继承Thread类    public static void main(String[] args) {        //可以创建没有命名的线程        TestThread tone = new TestThread("阿三");        TestThread ttwo = new TestThread("李四");        tone.start();        ttwo.start();    }}  

    2、实现Runnable接口

package unit_fifteen;public class TestRunnnable implements Runnable {    public static void main(String[] args) {        //实现Runnable接口,可以创建没有命名的线程        TestRunnnable dsone = new TestRunnnable("阿三");        TestRunnnable dstwo = new TestRunnnable("李四");        //以实现了Runnable接口的类的对象作为参数创建Thread对象        Thread tone = new Thread(dsone);        Thread ttwo = new Thread(dstwo);        tone.start();        ttwo.start();    }    private String name;    public TestRunnnable(String name) {        this.name = name;    }    @Override    public void run() {        for (int i = 0; i < 5; i++) {            for (int j = 0; j < 2; j++) {                System.out.println(name + ":" + i);            }        }    }}

 

     

Java基础之线程的两种实现方式