java线程(14)——synchronized同步方法
发布日期:2021-05-07 02:53:09 浏览次数:18 分类:精选文章

本文共 965 字,大约阅读时间需要 3 分钟。

synchronized同步方法代码示例

//不安全的买票//线程不安全,有负数public class UnsafeBuyTicket {       public static void main(String[] args) {           BuyTicket station = new BuyTicket();        new Thread(station,"我").start();        new Thread(station,"你").start();        new Thread(station,"黄牛党").start();    }}class BuyTicket implements Runnable{       //票    private int ticketNums = 10;    boolean flag = true;//外部停止方式    @Override    public void run() {           //买票        while (flag){               try {                   buy();            } catch (InterruptedException e) {                   e.printStackTrace();            }        }    }    //synchronized方法,锁的是this    private synchronized void buy()throws InterruptedException{           //判断是否有票        if (ticketNums<=0){               flag = false;            return;        }        //模拟延时        Thread.sleep(100);        //买票        System.out.println(Thread.currentThread().getName() + "拿到" + ticketNums--);    }}
上一篇:java线程(15)——synchronized代码块
下一篇:react(2)——之diff算法理解

发表评论

最新留言

留言是一种美德,欢迎回访!
[***.207.175.100]2025年03月22日 12时39分04秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章