1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > java中多线程的实现

java中多线程的实现

时间:2022-02-28 04:24:08

相关推荐

java中多线程的实现

Java|java教程

java,多线程,实现

Java-java教程

游戏源码免责声明怎么写,ubuntu波特率,tomcat配置数据源连接,反爬虫怎么应对,php md5对文件,太原seo技巧lzw

个人信息源码,ubuntu休眠不恢复,爬虫爬豆瓣好友,php小数,延庆seo推广lzw

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

工作流源码 php,vscode上号表情图,ubuntu路径配置,tomcat流量如何监控,学了爬虫技术,php curl有什么用,蔡甸seo优化多少钱lzw

//第一种方法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快速入门

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。