线程安全

多线程访问共享数据,产生安全问题;

如卖票案列:

 线程安全的代码表现:

其中,Thread类的静态方法sleep需要处理异常,throw抛出异常或者try/catch处理异常;

while( true )即为死循环;

主程序执行:

其中,父类Thread构造方法入参为同一个Runnable的实现类RunnableImpl;因为要访问同一个数据源即访问共享数据,才会出现多线程的安全问题;

但是创建的多个线程对象是不一样的;

运行结果:

其中,存在不同的线程卖同一张票的情况,还有卖不存在的票的情况,假票,那能好使吗

线程安全问题产生的原理:

原文地址:https://www.cnblogs.com/wmqiang/p/10665430.html