Hao_RanYang 2019-12-11 16:09 采纳率: 0%
浏览 139

这段代码加上main为什么会有四个线程

/*
* 实体类 Thread
* */
public class Ticket extends Thread{
    private Integer num=100;

    private Object obj=new Object();
    boolean flan=true;

    //重写Thread类的run方法供线程调用
    public void run(){
        while (flan){
            synchronized(obj){
                    try {Thread.sleep(20); } catch (InterruptedException e) { e.printStackTrace(); }
                    if (num>0){
                        System.out.println(Thread.currentThread().getName()+"..........."+num--);
                    }else {
                        flan=false;
                    }
            }
        }
    }

}

/*

  • 创建多线程
  • */
    public class Establish {
    public static void main(String args[]){

    //方式一:继承Thread类
    Ticket ticket=new Ticket();
    Ticket ticket2=ticket;
    Ticket ticket3=ticket;
    

    // Ticket2 ticket2=new Ticket2();
    Thread thread=new Thread(ticket);
    Thread thread2=new Thread(ticket2);
    Thread thread3=new Thread(ticket3);

    thread.start();
    thread2.start();
    ticket3.start();
    

    }
    }
    打印结果

Thread-2...........35
Thread-2...........34
Thread-3...........33
Thread-3...........32
Thread-3...........31
Thread-3...........30
  • 写回答

2条回答 默认 最新

  • 无天无极 2019-12-12 13:04
    关注

    main方法自身会起一个线程 你可以在main方法中打印一下线程名称看一下

    评论

报告相同问题?

悬赏问题

  • ¥15 seatunnel-web使用SQL组件时候后台报错,无法找到表格
  • ¥15 fpga自动售货机数码管(相关搜索:数字时钟)
  • ¥15 用前端向数据库插入数据,通过debug发现数据能走到后端,但是放行之后就会提示错误
  • ¥30 3天&7天&&15天&销量如何统计同一行
  • ¥30 帮我写一段可以读取LD2450数据并计算距离的Arduino代码
  • ¥15 飞机曲面部件如机翼,壁板等具体的孔位模型
  • ¥15 vs2019中数据导出问题
  • ¥20 云服务Linux系统TCP-MSS值修改?
  • ¥20 关于#单片机#的问题:项目:使用模拟iic与ov2640通讯环境:F407问题:读取的ID号总是0xff,自己调了调发现在读从机数据时,SDA线上并未有信号变化(语言-c语言)
  • ¥20 怎么在stm32门禁成品上增加查询记录功能