多线程练习 卖票程序

import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;

import static java.lang.Thread.sleep;

/**
 * @author admin
 * @version 1.0.0
 * @ClassName Tickets_selling.java
 * @Description TODO
 * @createTime 2021年11月18日 14:31:00
 */
public class Tickets_selling implements Runnable {
    static int tickets = 200 ;

    static Object ob = "key";

    public Tickets_selling(){};
    public Tickets_selling(int tickets) {
        this.tickets = tickets ;
    }

     void sell(){
        while (tickets > 0){
            synchronized (ob){
                if (tickets > 0){
                    System.out.println(Thread.currentThread().getName() + "卖出了第" + tickets + "张票" );
                    tickets -- ;
                } else {
                    System.out.println("票卖完了");
                }
            }
            try {
                sleep(1000);//休息一秒
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
        }

     }

    @Override
    public void run() {
        sell();
        Thread.yield();
    }
}

调用程序

public class Test {
//    public static void main(String[] args) {
//        ExecutorService pool = Executors.newFixedThreadPool(5);
//        for (int i = 0; i < 5; i++) {
//            pool.execute(new Thread(new Practice()));
//        }
//        pool.shutdown();
//        System.out.println(Arrays.toString(Practice.nums));
//    }


    public static void main(String[] args) {
        int ThreadSize = 5 ;
        ExecutorService pool = Executors.newFixedThreadPool(ThreadSize);
        for (int i = 0; i < 5; i++) {
            pool.execute(new Tickets_selling());
        }
        pool.shutdown();

    }
}

问题 多线程只有一个线程运行到程序结束

可能存在的问题

posted @   香草味的薄荷糖  阅读(39)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
点击右上角即可分享
微信分享提示