一、什么是线程不安全
简单的解释则是:多个线程抢占执行,则导致出现逻辑上的错误。
通过售票代码来解释这种不安全行为
public class Test {
public static void main(String[] args) {
//线程不安全示范
Runnable run = new Ticket();
new Thread(run).start();
new Thread(run).start();
new Thread(run).start();
}
static class Ticket implements Runnable{
//总票数
private int count = 5;
@Override
public void run() {
while (count>0){
//卖票
System.out.println(Thread.currentThread().getName()+"正在卖票......");
try {
Thread.sleep(500);
} catch (InterruptedException e) {
e.printStackTrace();
}
count--;
System.out.println(Thread.currentThread().getName()+&