多线程在java中的使用

这篇文章将为大家详细讲解有关多线程在java中的使用,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

成都网站建设哪家好,找成都创新互联!专注于网页设计、成都网站建设、微信开发、小程序设计、集团成都企业网站建设等服务项目。核心团队均拥有互联网行业多年经验,服务众多知名企业客户;涵盖的客户类型包括:成都玻璃钢雕塑等众多领域,积累了大量丰富的经验,同时也获得了客户的一致认可!

第一种方式,定义Thread类的子类:

//第一种方法
public class MyThread extends Thread {
    @Override
    public void run() {
        String name = getName(); // 获取线程名称
        System.out.println(name); // 输出 Thread-0
    }
}
//第二种方法
public class MyThread extends Thread {
    @Override
    public void run() {
        Thread t = Thread.currentThread(); // 获取当前线程
        System.out.println(t); 	// 下面调用后输出 Thread[Thread-0,5,main]
        System.out.println(t.getName());// 输出 Thread-0
    }
}

开启多线程:

public class demo1Test {
    public static void main(String[] args) {
        MyThread mt = new MyThread();
        mt.start();// 会运行MyThread的run()方法
   }
}

第二种方式,实现Runnable接口:

实现步骤:

1.创建一个Runnable 接口的实现类

2.在实现类中重写Runnable接口的run方法,设置线程任务

3.创建一个Runnable接口的实现类对象

4.创建Thread类对象,构造方法中传递Runnable接口的实现类对象

5.调用Thread类中的start方法,开启新的线程执行run方法

public class Runnableimpl implements Runnable {//1.创建一个Runnable 接口的实现类
    @Override
    public void run() {
        for (int i = 1; i <= 20; i++) {// 2.在实现类中重写Runnable接口的run方法,设置线程任务
            System.out.println(Thread.currentThread().getName() + i);
        }
    }
}
public class demo2Test {
    public static void main(String[] args) {
        Runnable run = new Runnableimpl();//3.创建一个Runnable接口的实现类对象
        Thread t = new Thread(run); //4.创建Thread类对象,构造方法中传递Runnable接口的实现类对象
        t.start();//5.调用Thread类中的start方法,开启新的线程执行run方法
        for (int i = 1; i <= 20; i++) {
            System.out.println(Thread.currentThread().getName() + i);
        }	// Thread-0和main开始多线程抢夺cpu
    }
}

实现Runnable接口创建多线程的好处:

1.避免了单继承的局限性:

一个类只能继承一个类,类继承了Thread后就不能继承其他的类

实现了Runnable接口,还可以继承其他的类,实现其他接口。

2.增强了程序的扩展性,降低了程序的耦合性

实现Runnable接口的方式,把设置线程任务和开启线程任务进行分离

实现类中,重写run()方法,用来设置线程任务。

创建Thread类对象,调用start()方法,用来开启新线程

sleep( )方法,使方法睡眠

public class sleepTest {
    public static void main(String[] args) {
        for (int i = 0; i < 20; i++) {
        //使用Thread类的sleep方法,让方法睡眠1秒钟
            try {
                Thread.sleep(1000);//传入的是毫秒值
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
            System.out.println(i);
        }
    }
}

关于多线程在java中的使用就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。


当前文章:多线程在java中的使用
文章来源:http://azwzsj.com/article/pppeps.html