06 初识并发问题

package ThreadDemo;
//多个线程同时操作同一个对象,涉及到资源的独享与共享并发什么的
// 多个线程同时操作同一个对象,可能会出现问题:线程不安全,数据紊乱    ------>上锁
// 并发与同步
  // 火车票例子
public class Test06 implements Runnable{
    int ticketNums=10;
    @Override
    public void run() {
        while (true){
            if (ticketNums==0){ break;}
            try {
                Thread.sleep(200);    // 模拟延迟
            } catch (InterruptedException e) {
                throw new RuntimeException(e);
            }
            System.out.println(Thread.currentThread().getName()+"--->抢到了第"+ ticketNums-- +"张票");
            // Thread.currentThread().getName() :获得线程体的名字
        }
    }

    public static void main(String[] args) {
        // 多个线程同时操作同一个对象,可能会出现问题------>上锁
        Test06 ticket = new Test06();
        new Thread(ticket,"学生").start();  // 名为 学生线程体
        new Thread(ticket,"老师").start();  // 老师线程体
        new Thread(ticket,"黄牛").start();  // 黄牛线程体
    }
}
posted @ 2023-08-29 14:31  被占用的小海海  阅读(5)  评论(0)    收藏  举报