会员可以在此提问,百战程序员老师有问必答
对大家有帮助的问答会被标记为“推荐”
看完课程过来浏览一下别人提的问题,会帮你学得更全面
截止目前,同学们一共提了 132428个问题
JAVA 全系列/第二阶段:JAVA 基础深化和提高/多线程技术(旧) 1007楼
JAVA 全系列/第二阶段:JAVA 基础深化和提高/容器(旧) 1008楼

老师,请问下这样写的话比较麻烦吗

package com.bjsxt.线程同步;


public class TestSyncThread {
    public static void main(String[] args) {
        Program p = new Program();
        p.setName("Mokura");
        Thread thread = new Thread(new Working(p));
        Thread thread1 = new Thread(new Bought(p));
        thread.start();
        thread1.start();
        System.out.println("主线程结束");
    }
}
class Program {
    String name;
    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    @Override
    public String toString() {
        return "Program{" +
                "name='" + name + '\'' +
                '}';
    }
}
class Working implements Runnable{
    private Program program;

    public Working(Program p) {
        this.program = p;
    }

    @Override
    public void run() {
        synchronized (this.program){
        try {
            System.out.println(program.getName() + "先去找工作");
            Thread.sleep(1000);
            System.out.println(program.getName() + "辛苦工作一个月");
            Thread.sleep(1000);
            System.out.println(program.getName() + "发工资啦!!!!");
            Thread.sleep(1000);
        }catch (Exception e){e.printStackTrace();}
    }
    }
}
class Bought implements Runnable{
    private Program program;

    public Bought(Program p) {
        this.program = p;
    }
    @Override
    public void run() {
        synchronized (this.program){
        try {
            System.out.println(this.program.getName()+"去超市转了");
            Thread.sleep(1000);
            System.out.println(this.program.getName()+"看中了2022-Bilibili春节限定花嫁手办");
            Thread.sleep(1000);
            System.out.println("心满意足的回家了");
        }catch (Exception e){e.printStackTrace();}
        }
    }
}

image.png

JAVA 全系列/第二阶段:JAVA 基础深化和提高/多线程技术(旧) 1010楼
JAVA 全系列/第二阶段:JAVA 基础深化和提高/多线程技术(旧) 1013楼
JAVA 全系列/第二阶段:JAVA 基础深化和提高/IO 流技术(旧) 1014楼
JAVA 全系列/第二阶段:JAVA 基础深化和提高/多线程技术(旧) 1018楼
JAVA 全系列/第二阶段:JAVA 基础深化和提高/多线程技术(旧) 1019楼
JAVA 全系列/第二阶段:JAVA 基础深化和提高/多线程技术(旧) 1020楼

课程分类

百战程序员微信公众号

百战程序员微信小程序

©2014-2025百战汇智(北京)科技有限公司 All Rights Reserved 北京亦庄经济开发区科创十四街 赛蒂国际工业园
网站维护:百战汇智(北京)科技有限公司
京公网安备 11011402011233号    京ICP备18060230号-3    营业执照    经营许可证:京B2-20212637