请选择 进入手机版 | 继续访问电脑版

多线程编程企业级写法(多线程卖票)

[复制链接]
舞鴐雲腾 发表于 2020-12-31 19:19:00 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题
题目: 三个售票员 卖出 100张票

方法:在高内聚低耦合的前提下,线程 操纵(方法) 资源类

1.资源类

  1. class Ticket{    private Integer nunber = 100;    private Lock lock = new ReentrantLock();     //2方法    public void saleTicket(){        lock.lock();        try {            if (nunber >0 ){                System.out.println(Thread.currentThread().getName()+"\t卖出第:"+(nunber--)+"\t还剩下: "+nunber);            }        } catch (Exception e) {            e.printStackTrace();        } finally {            lock.unlock();        }    }}
复制代码
3.线程操纵

[code]public class TicketTest {    /**     * @param args     */    public static void main(String[] args) {        Ticket ticket = new Ticket();        new Thread(() -> { for (int i = 1; i  { for (int i = 1; i  { for (int i = 1; i 0 ){                System.out.println(Thread.currentThread().getName()+"\t卖出第:"+(nunber--)+"\t还剩下: "+nunber);            }        } catch (Exception e) {            e.printStackTrace();        } finally {            lock.unlock();        }    }}public class TicketTest {    /**     * 题目: 三个售票员  卖出   100张票     *在高内聚低耦合的前提下,线程        操纵(方法)       资源类     * @param args     */    public static void main(String[] args) {        Ticket ticket = new Ticket();        new Thread(() -> { for (int i = 1; i  { for (int i = 1; i  { for (int i = 1; i
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则


专注素材教程免费分享
全国免费热线电话

18768367769

周一至周日9:00-23:00

反馈建议

27428564@qq.com 在线QQ咨询

扫描二维码关注我们

Powered by Discuz! X3.4© 2001-2013 Comsenz Inc.( 蜀ICP备2021001884号-1 )