弱弱地问下:多线程环境下调用静态方法会产生并行冲突吗,希望各位大虾能从内存分配的角度解释一下原因,谢谢
java 方法本身是线程安全的,这相当于c语言等函数式语言一样,在多线程下任何方法(包括 静态方法,和非静态方法)。但是有一个问题在于,在方法中有没有全局变量(类静态变量,对象实例变量),如果有全局变量,在多线程调用的时候要多加注意进行同步处理,如果都是方法内部的临时变量,则方法不会有任何问题,可以在多线程下使用,而不管是静态方法,还是非静态方法。
只要在静态函数中没有处理多线程共享数据,就不存在着多线程访问同一个静态方法会出现资源冲突的问题,如果在静态方法中有访问多线程共享数据,就要小心多线程同步问题