servlet的生命周期一般由servlet容器负责,当用户第一次发出请求的时候,servlet容器根据web.xml实例化该servlet类,当再有用户请求发来时,一般不会实例化该servlet类,所以servlet类是单例的
既然是单例的,就是线程不安全的,当多个线程访问的时候,可能会引起并发问题
如何解决servlet的线程安全问题
1、实现singleThread接口,实现了这个接口,容器保证在同一时刻内只有一个线程访问该实例
2、对可能引起并发的地方用synchronized关键字同步代码块
3、避免使用实例变量,多用局部变量,将数据存储放在方法中