为了账号安全,请及时绑定邮箱和手机立即绑定

多线程(线程安全问题)学习笔记

标签:
JQuery

多线程并发操作同一数据时, 就有可能出现线程安全问题* 使用同步技术可以解决这种问题, 把操作数据的代码进行同步, 不要多个线程一起操作            public class Demo2_Synchronized {                /**                 * @param args                 * 需求:铁路售票,一共100张,通过四个窗口卖完.                 */                public static void main(String[] args) {                    TicketsSeller t1 = new TicketsSeller();                    TicketsSeller t2 = new TicketsSeller();                    TicketsSeller t3 = new TicketsSeller();                    TicketsSeller t4 = new TicketsSeller();                    t1.setName("窗口1");                    t2.setName("窗口2");                    t3.setName("窗口3");                    t4.setName("窗口4");                    t1.start();                    t2.start();                    t3.start();                    t4.start();                }            }            class TicketsSeller extends Thread {                private static int tickets = 100;                static Object obj = new Object();                public TicketsSeller() {                    super();                }                public TicketsSeller(String name) {                    super(name);                }                public void run() {                    while(true) {                        synchronized(obj) {                            if(tickets <= 0)                                 break;                            try {                                Thread.sleep(10);//线程1睡,线程2睡,线程3睡,线程4睡                            } catch (InterruptedException e) {                                e.printStackTrace();                            }                            System.out.println(getName() + "...这是第" + tickets-- + "号票");                        }                    }                }            }

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消