多线程基础(一)

package com.kaiyuan.lesson01;


// 多个线程同事操作同一个对象
// 买火车票的例子

// 多个线程操作同一资源的情况下,线程不安全,导致数据紊乱;
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();
    }
}
posted @ 2022-02-17 22:15  清风吹拂啊狂风肆虐  阅读(12)  评论(0编辑  收藏  举报