关于多线程不安全问题以及解决方法
线程不安全
线程不安全就是不提供数据访问保护,有可能出现多个线程先后更改数据造成所得到的数据并不是你所想要的。下面举例说明:
public class Demo {
/**
* 线程不安全
* @param args
*/
public static void main(String[] args) {
//创建一个任务
Runnable run=new Ticket();
//创建三个线程,相当于三个售票窗口,它们共同售卖库存中的10张票
//调用start()方法启动线程,开始售票
new Thread(run).start();
new Thread(run).start();
new Thread(run).start();
}
static class Ticket implements Runnable{
private int count=10;//一共10张票
@Override
public void run() {
while (count>0){
System.out.println("正在售票中……");
try {
Thread.sleep(1000);
} catch (I