当线程大量使用方法时,我们真的需要锁定静态方法(静态类)吗? 当静态方法使用SQL Queries / StoredProcedures等资源时是否需要它?
由于 Pankaj
答案 0 :(得分:1)
这完全取决于静态方法的作用。如果他们正在使用共享资源(例如,相同的SQL连接或修改共享集合),那么是的,您绝对需要锁定或类似的东西。
但是,如果每个方法调用实际上是独立的,没有触及任何共享的可变状态,则不需要任何锁定。
答案 1 :(得分:0)
如果您有跨线程共享内存(静态或非静态)并依赖于此状态信息,则可能会出现竞争条件,从而导致难以调试问题和错误执行。