JAVA多线程-创建启动线程

首先了解进程跟线程

进程是指运行中的应用程序,每个进程都有自己的独立内存空间,线程是进程中的一个实体,线程是系统运行的最小单位,是被系统独立调度和分配的基本单位,与同一个进程中的其他线程共享进程的所有资源。

线程的创建

线程创建有两种最基本的方式,继承Thread类和实现Runnable接口,我们看Thread源码可以知道,实际上Thread也是实现了Runnable接口。

public  class Thread implements Runnable {

下面通过两种方式分别创建线程:

首先继承Thread

pckage com.ck.thread;

public class ThreadOne extends Thread{

    @Override

    public void run() {

        System.out.println(this.getName());

    }

}

注意继承Thread类时候一定要覆写run方法,否则线程启动的时候会默认调用Thread的run方法,就是啥事也没干了,接下来我们启动线程:

package com.ck.thread;


public class RunThread {

    public static void main(String[] args) {

        ThreadOne t1 = new ThreadOne();

        t1.start();

    }

}

这样就启动了一个线程,我们看下运行结果:

Thread-0

注意启动一个线程调用的是start方法而不是run方法,调用run方法只是作为一个对象调用其方法,并不是启动线程。

第二种就是同Thread一样实现Runnable接口:

public class ThreadTwo implements Runnable{

    @Override

    public void run() {

        System.out.println(Thread.currentThread().getName());   

    }
}

启动线程:

public class RunThread {

    public static void main(String[] args) {

        ThreadOne t1 = new ThreadOne();

        t1.start();

        Runnable r2 = new ThreadTwo();

        Thread t2 = new Thread(r2);

        t2.start();

    }

}

注意启动实现Runnable的线程与继承Thread的方式略有不同需要初始化Runnable类型的对象,作为参数传递到Thread中,看下运行结果

Thread-0

Thread-1

这是最简单的线程使用,实际上实现线程的还有其他方式比如Callable。

 

猜你喜欢

转载自blog.csdn.net/cgsyck/article/details/104755951