使用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