在多线程中使用静态方法是否有线程安全问题

Posted moris5013

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在多线程中使用静态方法是否有线程安全问题相关的知识,希望对你有一定的参考价值。

是否引起线程安全问题要看在静态方法中是否使用了静态成员。

因为,在多线程中使用同一个静态方法时,会复制一份代码,所以方法是安全,每个线程使用各自的实例字段(instance field)的副本,而共享一个静态成员(static field)。所以说,如果该静态方法不去操作一个静态成员,只在方法内部使用实例字段(instance field),不会引起安全性问题。但是,如果该静态方法修改了一个静态字段,则需要静态方法中采用互斥访问的方式进行安全处理

 

以上是关于在多线程中使用静态方法是否有线程安全问题的主要内容,如果未能解决你的问题,请参考以下文章

在多线程系统中使用静态 java.sql.Connection 实例是不是安全?

java 局部静态变量在多线程环境下是不是有线程安全问题??

C# 在多线程环境中,进行安全遍历操作

每个线程一个 DAO 还是线程安全 DAO?

有没有办法在多线程应用程序中安全地使用 errno? [复制]

java线程安全问题之静态变量实例变量局部变量