注意: 这里我们先看下 运行结果 : 相信大家都看到了黄牛和小明同时拿到了第十张票,这里就出现了并发的问题  附上代码举例

小明拿到了第9张票
黄牛拿到了第10张票
小张拿到了第10张票

黄牛拿到了第7张票
小明拿到了第6张票
小张拿到了第8张票
黄牛拿到了第4张票
小张拿到了第5张票
小明拿到了第3张票
黄牛拿到了第0张票
小张拿到了第2张票
小明拿到了第1张票

package com.yyf.Thread;

public class TestTread5 implements Runnable{

    int ticketNum=10;
    @Override
    public void run() {
        while (true){
            if (ticketNum<=0){
                break;
            }
            try {
                Thread.sleep (200);
            } catch (InterruptedException e) {
                e.printStackTrace ();
            }
            System.out.println (Thread.currentThread ().getName ()+"拿到了第"+ticketNum--+"张票");
        }
    }

    public static void main(String[] args) {
        TestTread5 t = new TestTread5 ();
        new Thread (t,"小明").start ();
        new Thread (t,"小张").start ();
        new Thread (t,"黄牛").start ();
    }
}

Logo

GitCode 天启AI是一款由 GitCode 团队打造的智能助手,基于先进的LLM(大语言模型)与多智能体 Agent 技术构建,致力于为用户提供高效、智能、多模态的创作与开发支持。它不仅支持自然语言对话,还具备处理文件、生成 PPT、撰写分析报告、开发 Web 应用等多项能力,真正做到“一句话,让 Al帮你完成复杂任务”。

更多推荐