欢迎光临散文网 会员登陆 & 注册

动脑安卓移动互联网架构开发5期\/--》ccys1473

2023-07-10 12:29 作者:丨超能力丶  | 我要投稿

四、线程同步

🍒1.介绍

**多个线程操作同一个资源 **

2.不安全的线程案例

//不安全买票

public class Demo24_UnsafeBuyTicket {

    public static void main(String[] args) {

        BuyTicket buyTicket = new BuyTicket();

        new Thread(buyTicket, "张三").start();

        new Thread(buyTicket, "李四").start();

        new Thread(buyTicket, "王五").start();

    }

}


class BuyTicket implements Runnable {

    //票

    private int ticketNums = 10;

    boolean flag = true;


    @Override

    public void run() {

        //买票

        while (flag) {

            try {

                buy();

            } catch (Exception e) {

                e.printStackTrace();

            }

        }

    }


    //买票

    private void buy() {

        //判断是否有票

        if (ticketNums <= 0) {

            flag = false;

            return;

        }

        //延迟

        try {

            Thread.sleep(1);

        } catch (InterruptedException e) {

            e.printStackTrace();

        }


        //买票

        System.out.println(Thread.currentThread().getName() + "拿到" + ticketNums--);

    }

}



动脑安卓移动互联网架构开发5期\/--》ccys1473的评论 (共 条)

分享到微博请遵守国家法律