php线程java多线程,java中多线程的实现

本文介绍了Java中两种创建线程的方法:通过继承Thread类和实现Runnable接口。对比了两者之间的区别,并强调了实现Runnable接口能避免单继承限制,增强程序扩展性和降低耦合性。还提到了Thread类的sleep()方法用于线程暂停。
摘要由CSDN通过智能技术生成

a9b49eefd28781521203c6f23bd18ffa.png

第一种方式,定义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快速入门

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值