反射类的线程安全问题

shy315 2010-11-24 01:18:27
Method.invoke是线程安全的吗?
望高手能顺便解释一下methodAccessor.invoke线程安全问题
...全文
679 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
qybao 2010-11-24
  • 打赏
  • 举报
回复
个人认为,method实现是线程安全的前提下,invoke也是线程安全的

1 相同的method多线程调用invoke,参数是不同的object
这种情况下,不同线程调用不同object的方法,也就是说这些object互不相关,所以应该是线程安全

2 或者说相同的methodAccessor多线程调用invoke
这种情况下,因为method实现是线程安全的,所以invoke也遵循同样的调度,即method本身会锁住object对象,所以invoke的时候也会先申请锁,所以应该也是线程安全的
shy315 2010-11-24
  • 打赏
  • 举报
回复
前提当然是method实现是线程安全的

相同的method多线程调用invoke,参数是不同的object,
或者说相同的methodAccessor多线程调用invoke

因为有simpledateformat.format、parse的前科,所以找高手查一下源码,确认一下
plusplus2010 2010-11-24
  • 打赏
  • 举报
回复
这个应该取决于被invoke的method的线程安全。

62,615

社区成员

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

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