程序员萌芽 2023-11-26 21:20 采纳率: 61.9%
浏览 13
已结题

一个Java线程调度的问题,运行多次,三个线程打印字符 a b 和数字总是先输出完字母,再输出数字是为什么

一个Java线程调度的问题,运行多次,三个线程打印字符 a b 和数字总是先输出完字母,再输出数字是为什么


class PrintChar implements Runnable{
    private char charToPrint;
    private int times;
    public PrintChar(char c,int t){
        charToPrint=c;
        times=t;
    }

    @Override
    public void run() {
        for(int i=0;i<times;i++){
            System.out.print(charToPrint);
        }
    }
}
class PrintNum implements Runnable{
    private int lastNum;
    public PrintNum(int n){
        lastNum=n;
    }

    @Override
    public void run() {
        for(int i=0;i<=lastNum;i++){
            System.out.print(" "+i);
        }
    }
}
public class TaskThreadDemo {
    public static void main(String[] args) {
        Runnable printA=new PrintChar('a',100);
        Runnable printB=new PrintChar('b',100);
        Runnable print100=new PrintNum(100);
        Thread thread1=new Thread(printA);
        Thread thread2=new Thread(printB);
        Thread thread3=new Thread(print100);
        thread1.start();
        thread2.start();
        thread3.start();
    }
}

  • 写回答

3条回答 默认 最新

  • 程序员萌芽 2023-11-27 10:24
    关注
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 12月5日
  • 已采纳回答 11月27日
  • 创建了问题 11月26日