package com.pln.thread;//多个线程操作一个对象;//买火车票的例子//问题:多个线程操作同一个资源会出现重复,线程不安全,数据出现紊乱public class TestThread4 implements Runnable{private int ticket = 10;@Overridepublic void run() {while (true){if(ticket<=0){break;}// 模拟延时try {Thread.sleep(200);} catch (InterruptedException e) {e.printStackTrace();}System.out.println(Thread.currentThread().getName()+"---->拿了第"+ticket--+"张票");}}public static void main(String[] args) {TestThread4 tickets = new TestThread4();new Thread(tickets,"小明").start();new Thread(tickets,"老师").start();new Thread(tickets,"黄牛").start();}}
//执行结果如下(出现相同数据)
