静态方法是否是线程安全的?

chenchenyangll 2011-05-27 08:15:43
方法内部仅有局部变量的静态方法是否线程安全?
方法内部有类成员变量的静态方法是否线程安全?
...全文
504 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
dracularking 2011-05-27
  • 打赏
  • 举报
回复
所谓不安全就是在意愿或意识之外的被操作

也就是在当前意愿操作的线程之外的线程的影响,静态方法也可以几乎同时受多线程操作影响的
qybao 2011-05-27
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 chenchenyangll 的回复:]
如若方法参数为对象,则方法内部对该传入对象的修改都是不安全的 对吗?
[/Quote]
如果不是String等类的参数,方法内部修改该对象的属性就不安全。
qybao 2011-05-27
  • 打赏
  • 举报
回复
就像LS说的,看是否有线程并发调用,同时多个线程是否使用了共同资源,所以
方法内部仅有局部变量的静态方法是否线程安全?
方法内部有类成员变量的静态方法是否线程安全?
只能说不一定,比如文件File f = new File(xxx);虽然是局部变量,但是多线程调用时使用了共同的文件资源,如果有文件的写操作,就不安全。
chenchenyangll 2011-05-27
  • 打赏
  • 举报
回复
如若方法参数为对象,则方法内部对该传入对象的修改都是不安全的 对吗?
chosen0ne 2011-05-27
  • 打赏
  • 举报
回复
看一个方法是否线程安全,主要是看这个方法会不会被线程并发调用,并且方法还会对属性进行修改。

像ls说的,如果并发修改类变量就不安全了
龙四 2011-05-27
  • 打赏
  • 举报
回复
要修改类变量就不会安全

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧