
第一种方式,定义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接口:
实现步骤:
立即学习“Java免费学习笔记(深入)”;
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中多线程的实现的详细内容,更多请关注php中文网其它相关文章!
java怎么学习?java怎么入门?java在哪学?java怎么学才快?不用担心,这里为大家提供了java速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号