qq_41194872 2018-12-30 11:48 采纳率: 100%
浏览 2193

java多线程,统计每个线程执行次数

执行代码后算出来总是多3

package work2;

public class Part implements Runnable{

    private int n = 800;
    private int i = 1;
    @Override
    public void run() {
        // TODO Auto-generated method stub
        int m = 0;
        while(i <= n){

            if(i <= n) {
                m++;
            }
            sell();
        }
        System.out.println(Thread.currentThread().getName()+"生产了:"+m+"个");
    }

    public synchronized void sell(){
        if(i <= n){
            try {
                Thread.sleep(1);
            } catch (InterruptedException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            if(i <= n){
                System.out.println(Thread.currentThread().getName()+
                        "生产第"+ i++ +"个零件");
            }
        }
    }
}

package work2;

public class WorkShop {

    public static void main(String [] args){
        Part part = new Part();
        Thread thread1 = new Thread(part, "第一生产车间");
        Thread thread2 = new Thread(part, "第二生产车间");
        Thread thread3 = new Thread(part, "第三生产车间");
        Thread thread4 = new Thread(part, "第四生产车间");
        thread1.start();
        thread2.start();
        thread3.start();
        thread4.start();
    }
}

  • 写回答

0条回答

    报告相同问题?

    悬赏问题

    • ¥15 微信公众号自制会员卡没有收款渠道啊
    • ¥15 stable diffusion
    • ¥100 Jenkins自动化部署—悬赏100元
    • ¥15 关于#python#的问题:求帮写python代码
    • ¥20 MATLAB画图图形出现上下震荡的线条
    • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘
    • ¥15 perl MISA分析p3_in脚本出错
    • ¥15 k8s部署jupyterlab,jupyterlab保存不了文件
    • ¥15 ubuntu虚拟机打包apk错误
    • ¥199 rust编程架构设计的方案 有偿