线程安全
开发工具与关键技术:eclipse java
作者:梁峻豪
线程安全
如果有多个线程在同时运行,而这些线程可能会同时运行这段代码。
程序每次运行结果和单线程运行的结果是一样的
而且其他的变量的值也和预期的是一样的
就是线程安全的。
我们通过一个案例
演示线程的安全问题:
电影院要卖票,我们模拟电影院的卖票过程。
假设要播放的电影是 “功夫熊猫 3”
本次电影的座位共 100 个(本场电影只能卖 100 张票)。
我们来模拟电影院的售票窗口,
实现多个窗口同时卖 “功夫熊猫 3”
这场电影票(多个窗口一起卖这 100 张票)
需要窗口
采用线程对象来模拟;
需要票
Runnable 接口子类来模拟测试类
public class ThreadDemo {
public static void main(String[] args) {
//创建票对象
Ticket ticket = new Ticket();
//创建 3 个窗口
Thread t1 = new Thread(ticket, "窗口1");
Thread t2 = new Thread(ticket, "窗口 2");
Thread t3 = new Thread(ticket, "窗口3");
t1.start();
t2.start();
t3.start();
}
}
模拟票
public class Ticket implements R