旗下导航:搜·么
当前位置:网站首页 > JAVA教程 > 正文

java中多线程的完成【JAVA教程】,java,多线程,实现

作者:搜教程发布时间:2019-11-29分类:JAVA教程浏览:36评论:0


导读:第一种体式格局,定义Thread类的子类://第一种要领publicclassMyThreadextendsThread{@Override...

第一种体式格局,定义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
    }
}

java相干视频引荐:java在线进修

开启多线程:

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疾速入门

以上就是java中多线程的完成的细致内容,更多请关注ki4网别的相干文章!

标签:java多线程实现


欢迎 发表评论: