Java常用的多线程实现方式是什么
创始人
2024-12-19 15:21:12
0次

Thread简介

Thread 是一个类。Thread本身就实现了Runnable接口。它的声明如下:

public class Thread implements Runnable {}

Thread的作用是实现多线程。

ThreadTest.java 源码

class MyThread extends Thread{ private int ticket=10; public void run(){  for(int i=0;i<20;i++){   if(this.ticket>0){    System.out.println(this.getName()+" 卖票:ticket"+this.ticket--);   }  } }};public class ThreadTest { public static void main(String[] args) {  // 启动3个线程t1,t2,t3;每个线程各卖10张票!  MyThread t1=new MyThread();  MyThread t2=new MyThread();  MyThread t3=new MyThread();  t1.start();  t2.start();  t3.start(); }}

运行结果

Thread-0 卖票:ticket10Thread-1 卖票:ticket10Thread-2 卖票:ticket10Thread-1 卖票:ticket9Thread-0 卖票:ticket9Thread-1 卖票:ticket8Thread-2 卖票:ticket9Thread-1 卖票:ticket7Thread-0 卖票:ticket8Thread-1 卖票:ticket6Thread-2 卖票:ticket8Thread-1 卖票:ticket5Thread-0 卖票:ticket7Thread-1 卖票:ticket4Thread-2 卖票:ticket7Thread-1 卖票:ticket3Thread-0 卖票:ticket6Thread-1 卖票:ticket2Thread-2 卖票:ticket6Thread-2 卖票:ticket5Thread-2 卖票:ticket4Thread-1 卖票:ticket1Thread-0 卖票:ticket5Thread-2 卖票:ticket3Thread-0 卖票:ticket4Thread-2 卖票:ticket2Thread-0 卖票:ticket3Thread-2 卖票:ticket1Thread-0 卖票:ticket2Thread-0 卖票:ticket1

Runnable简介

Runnable 是一个函数式接口,该接口中只包含了一个run()方法。它的定义如下:

@FunctionalInterfacepublic interface Runnable { public abstract void run();}

Runnable的作用,实现多线程。我们可以定义一个类A实现Runnable接口;然后,通过new Thread(new A())等方式新建线程。

RunnableTest.java 源码

class MyThread implements Runnable{ private int ticket=10; public void run(){  for(int i=0;i<20;i++){   if(this.ticket>0){    System.out.println(Thread.currentThread().getName()+" 卖票:ticket"+this.ticket--);   }  } }};public class RunnableTest { public static void main(String[] args) {  MyThread mt=new MyThread();  // 启动3个线程t1,t2,t3(它们共用一个Runnable对象),这3个线程一共卖10张票!  Thread t1=new Thread(mt);  Thread t2=new Thread(mt);  Thread t3=new Thread(mt);  t1.start();  t2.start();  t3.start(); }}

运行结果

Thread-0 卖票:ticket10Thread-2 卖票:ticket8Thread-1 卖票:ticket9Thread-2 卖票:ticket6Thread-0 卖票:ticket7Thread-2 卖票:ticket4Thread-1 卖票:ticket5Thread-2 卖票:ticket2Thread-0 卖票:ticket3Thread-1 卖票:ticket1

Thread和Runnable的异同点

Thread 和 Runnable 的相同点:都是“多线程的实现方式”。Thread 和 Runnable 的不同点:Thread 是类,而Runnable是接口;Thread本身是实现了Runnable接口的类。我们知道“一个类只能有一个父类,但是却能实现多个接口”,因此Runnable具有更好的扩展性。此外,Runnable还可以用于“资源的共享”。即,多个线程都是基于某一个Runnable对象建立的,它们会共享Runnable对象上的资源。通常,建议通过“Runnable”实现多线程!

相关内容

热门资讯

空调连续工作多久需要停机休息 空调连续工作的时间取决于多个因素,包括空调的型号、功率、使用环境和维护情况等。一般来说,空调可以连续...
空调哪个符号是除湿的 空调除湿功能通常用一个水滴形状的符号表示。不同品牌和型号的空调遥控器可能会有所差异,但一般来说,除湿...
格力空调多长时间加一次氟利昂 1、一般情况下,空调对氟利昂的使用量是非常小的,所以在空调使用了四年左右的时候再考虑加也没问题。2、...
空调用多长时间需要加氟一次 一般情况下是五年。当出现以下这几种情况时,空调才需要加氟。1、空调的室内机和室外机各有两个接口,当接...
格调生活·C标思享荟:卡萨帝在... 9月12日的郑州龙湖金融岛,夜风轻拂,灯光璀璨。“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑...
品牌价值破千亿、高端份额持续领... 9月12日,“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑州站”在郑州龙湖金融岛举办。2026...
空调主板坏了修800还是换新的 空调主板坏了是修还是换新,需要考虑多个因素,以下是一些建议:1. 维修成本:如果维修费用较低,比如 ...
空调开多久需要休息多长时间 问题:空调开多久需要休息多长时间回答:1、在使用空调的过程中,一般空调开7~8个小时左右需要休息2~...
中央空调多长时间清洗一次 1、一般空调开机前清洗一次即可,空调开机中间时段再清洗一次,空调关机时清洗一次,这样比较合理。2、空...
中央空调氟利昂多久加一次 看空调制热和制冷程度,很多人的观点认为氟利昂必须一年放一次,其实这个观点是错误的,理解上面有点偏差,...