• 多线程操作同一个对象的例子(引出并发)


    多线程操作同一个对象的例子(引出并发)

    //多个线程同时操作同一个对象
    //买火车票的例子
    
    //发现问题:多个线程操作同一个资源的情况下,线程不安全,数据混乱。
    public class TestThread4 implements Runnable{
    
        //票数
        private int ticketNums = 10;
    
        @Override
        public void run() {
            while (true){
    
                if (ticketNums<=0){
                    break;
                }
    
                //模拟延时
                try {
                    Thread.sleep(200);
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
                System.out.println(Thread.currentThread().getName()+"拿到了第"+ticketNums--+"票");
            }
        }
    
        public static void main(String[] args) {
            TestThread4 ticket = new TestThread4();
    
            new Thread(ticket,"小明").start();
            new Thread(ticket,"小红").start();
            new Thread(ticket,"黄牛党").start();
        }
    }
    
  • 相关阅读:
    IntelliJ Idea 快捷键列表
    mysql索引类型和方式
    基本git指令
    idea中deBug方法
    BeanUtils.copyProperties(A,B)使用注意事项
    MySQL字段类型
    JAVA常识1
    Redis在windows下的安装下载
    Netty
    IDEA工具
  • 原文地址:https://www.cnblogs.com/helloxiaolu/p/13303456.html
Copyright © 2020-2023  润新知