1、什么是线程安全问题?
答:当多个线程共享同一个全局变量,对这个变量同时进行写操作时,可能会受到其他线程的干扰,这种现象叫做线程安全问题。做读操作的时候,不会产生线程安全问题
2、当多个线程共享同一个局部变量时,会发生线程安全吗?答案是,不会
3、模拟两个窗口同时卖票,也就是两个线程公用同一个全局变量y,可是这样写就出问题了哦(虽然我一开始也是这么写的,尴尬又不失礼貌的微笑)
原因如下:创建了不同的对象,每个对象有自己的变量,使用的也会是自己的变量,从而没有达到共享的目的
所以呢,应该这样写
4、使用同步的条件
1)必须有两个及两个以上的线程,而且需要发生同步
2)多个线程想同步,必须用同一把锁
3)只能保证一个线程正在执行
5、同步原理:
1)有一个线程拿到锁,其他线程在cpu中已经排好队,等待拿锁的线程释放锁
2) 锁在什么时候会释放掉?程序执行完毕或者程序执行异常被释放掉
3)锁释放掉之后