首页 > 其他分享 >线程不安全问题

线程不安全问题

时间:2023-02-22 10:46:27浏览次数:32  
标签:Runnable 同一个 ticketName 问题 安全 线程 public

使用Runnable接口实现多线程,多个线程操作同一个资源时,线程不安全,出现并发问题。如多个人同时抢票,会出现多个人抢了同一张票的问题,代码如下

//多个线程同时操作同一个对象
//问题:多个线程操作同一个资源的情况下,线程不安全,数据紊乱,并发问题
public class TestThread5 implements Runnable{

//    票数
    private int ticketName=10;

    @Override
    public void run(){
        while(true){
            if(ticketName<=0){
                break;
            }
            try {
                Thread.sleep(200);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
            System.out.println(Thread.currentThread().getName()+"拿到了"+ticketName--+"票");
        }
    }
    public static void main(String[] args){
        TestThread5 testThread5=new TestThread5();

        new Thread(testThread5,"小明").start();
        new Thread(testThread5,"老师").start();
        new Thread(testThread5,"小张").start();
    }
}

 

标签:Runnable,同一个,ticketName,问题,安全,线程,public
From: https://www.cnblogs.com/zhang12345/p/17143511.html

相关文章