Servlet是单实例多线程的,所以如果没有公共属性的话,是线程安全的。若有公共资源,具体可以有一下几点: 1.可以将全局变量转化为局部变量,避免线程竞争。 2.加锁来确保同一时间只有一个线程可以访问共享资源。 3.使用线程安全的数据结构,如ConcurrentHashmap/CompyOnWriteArrayList等。 4.尽量避免使用实例变量,或者将实例变量设计为不可变对象。
注意:本文归作者所有,未经作者允许,不得转载
Servlet是单实例多线程的,所以如果没有公共属性的话,是线程安全的。若有公共资源,具体可以有一下几点: 1.可以将全局变量转化为局部变量,避免线程竞争。 2.加锁来确保同一时间只有一个线程可以访问共享资源。 3.使用线程安全的数据结构,如ConcurrentHashmap/CompyOnWriteArrayList等。 4.尽量避免使用实例变量,或者将实例变量设计为不可变对象。
注意:本文归作者所有,未经作者允许,不得转载