日期:2014-05-20  浏览次数:20841 次

[求助] 请问类中的静态方法能否让多个线程同时访问并行执行?
请问类中的静态方法能否让多个线程同时访问并行执行????
还是说需要排队执行????
非常感谢!!!!

------解决方案--------------------
但是不能给静态方法本身加synchronized修饰符,因为静态方法没有实例引用,无法确定锁定对象。
------------------------------------
LZ这句话有误吧,JAVA里面的锁是可以对类和对象进行锁定的,所以无论在在方法内部还是外部都可以使用。
public synchronized static void test(){
......
}
上面是对类进行锁定
public synchronized void test(){
......
}
上面是对对象进行锁定,
好好读读关于这方面的资料吧


请问类中的静态方法能否让多个线程同时访问并行执行????
----------------------------------------------------
可以多线程同时访问,如果内部访问了静态变量,要注意对同步问题

还是说需要排队执行????
-------------------------------------------------------
如果没有synchronized关键字,不需要排队执行,如果加了这个关键字,那么就需要排队


------解决方案--------------------
排不排队都取决于有没有 synchronized
可以直接把synchronized 加在 需要同步的方法前面
也可以 单独定义一个synchronized方法,然后在run 方法中调用
加了synchronized就同步,不加就都可以访问