当前位置:  技术问答>java相关

static方法有没有多线程的问题?

    来源: 互联网  发布时间:2015-04-17

    本文导语:  对于static方法,一个类的所有实例共有一块内存区域,那么多个用户(其他类的实例)同时访问这个static方法时,会不会出现冲突?还是static方法本来就是同步的? | static方法不是本来就是同步的。 该...

对于static方法,一个类的所有实例共有一块内存区域,那么多个用户(其他类的实例)同时访问这个static方法时,会不会出现冲突?还是static方法本来就是同步的?

|
static方法不是本来就是同步的。
该方法内的变量是临时变量,多线程同时访问时,实际上每个线程都有一份数据。
如果调用了该类的成员静态变量,那么想要不出问题的话,需要将该方法同步。

|
如果你没有用到类的static变量的话,就没有问题

|
多线程用的异步方法要求是是可重入的,就是代码不能修改自身(这个问题在java
中是不存在的),但是一旦方法需要修改公用变量就需要对它进行同步处理,可以
将访问公用变量的部分单独提取出来做一个同步方法。

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • java命名空间javax.lang.model.element枚举modifier的类成员方法: static定义及介绍
  • 哪位能谈谈static方法内为什么不能包含static inner class?
  • java命名空间java.lang.reflect类modifier的类成员方法: static定义及介绍
  • 请问怎么在static的方法里调用另一个方法?
  • java命名空间javax.lang.model.element枚举elementkind的类成员方法: static_init定义及介绍
  • 请教:(static)静态变量和静态方法是什么意思?
  • main方法一定要是static的吗?
  • 近日看源码发现有public类,未经实例化就可以调用该类里面的static方法?
  • 关于父类static 方法继承的问题!
  • 下面static一段为什么写在类的方法外面
  • 好像在函数(方法)里面不可以用 static来定义变量,是这样的吗?
  • 构造方法可以是static的吗?为什么?
  • 在一个类中的static方法是不是只有在第一次调用类的时候才运行?
  • 什么时候应该用static方法,欢迎大家讨论
  • public static void main(String args[]){...},父类与子类同时定义有这样的main方法,但在子类中运行main时,程序却跑到父类的main中执
  • c++ dynamic_cast与static_cast使用方法示例
  • 在下面这段代码中,如果对init方法只加synchronized关键字,则不能达到互斥的目的,还要再加上static关键字才能互斥,为什么?
  • 深入理解c# static 静态数据成员和方法
  • PHP面向对象之旅:深入理解static变量与方法
  • non-static class为什么不可以包含static methods and fields
  • SCJP -- static method can not access non-static variable?
  • non-static inner class为什么不可以包含static methods and fields
  • 1.在程序中用static final与用static或不加上这些标志的具体区别是什么? 2.工程建库
  • 内部内不可拥有static数据或static 内部内!!!!!!!!!
  • static
  • static 类和普通类的区别??
  • node-static
  • 请前辈谈谈static的机制!
  • final 与static
  • about static
  • 关于static块的问题


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3