java中多线程的实现

互联网 19-11-28

第一种方式,定义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中多线程的实现的详细内容,更多内容请关注技术你好其它相关文章!

来源链接:
免责声明:
1.资讯内容不构成投资建议,投资者应独立决策并自行承担风险
2.本文版权归属原作所有,仅代表作者本人观点,不代表本站的观点或立场
标签: 实现
上一篇:php获取远程图片并下载保存到本地的方法分析 下一篇:java中的浅拷贝与深拷贝

相关资讯