TestPow tp = new TestPow(); new Thread(tp).start(); new Thread(tp).start();
------解决方案-------------------- 应该没你说的线程安全问题。。。
------解决方案--------------------
------解决方案-------------------- 1楼说了,关键是否为“共享资源”。
定义成static,那么就直接变成共享资源了。如果你定义成成员变量,那么可能变成共享资源。
只要是共享资源,就会有线程安全问题。
然后这种情况下,如果你直接: public synchronized void run() { 这就不再是啥多线程并发了,根本就是大家排队顺序执行。
------解决方案-------------------- 必然是多线程并发,而且Servlet都是单例,这也是为什么Servlet里面不推荐使用成员变量。