关于同步的一点小问题

XKP 2003-01-27 06:15:34
一般来说,多线程对一个对象同一资源比如static类型的
访问如果不同步的话就有问题
那么多线程对一个对象的方法的访问是不是如果不同步也会有问题呢?
...全文
46 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
XKP 2003-01-28
  • 打赏
  • 举报
回复
好的
今天晚上揭帖
helpall 2003-01-27
  • 打赏
  • 举报
回复
对. 没有问题.后面一个线程应该是可以调用这个方法的. 除非在此方法中对一个对象进行了同步. 注意有两种同步,一种是在方法上同步,即同一个对象的同一个函数同时只能有一个调用,另一种是在对象上同步,只有该对象不忙,任何对象均可调用.
XKP 2003-01-27
  • 打赏
  • 举报
回复
后来想了想,觉得自己的这个问题有点傻傻的

差不多想到了,想确认一下

我想换一种问法
就是说如果一个方法是很费时间的话
那么在多线程的情况下,在前面一个线程还没有从一个方法(这个方法是一个单一对象的公共非同步方法)的时候,那么后面一个线程应该是可以调用这个方法的吧?

手边没有编译环境,各位帮个忙了
teddy_huang 2003-01-27
  • 打赏
  • 举报
回复
agree,如果那个方法不会改变当前操作对象,同步就没有意义,就像Vector中的方法一样
ChDw 2003-01-27
  • 打赏
  • 举报
回复
那是要看看那个方法到底做了什么。不是所有的方法都会存在同步问题的,
主要是需要分析一下整个方法的流程才能判断
例如,那个方法就是直接返回0,那么这样肯定就不会出现同步问题的

所以说要似乎这个对象的方法而论

62,614

社区成员

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

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