java中,两个线程同时调用同一个方法时,这两个线程真的是在同时执行这个方法吗???

2024-12-28 20:54:11
推荐回答(3个)
回答1:

要分清方法和变量之间的关系
方法是变量的处理流程,变量才是一个实例的主体部分,方法是所有实例#共用#的一个流程而已

无论哪个线程还是哪个实例都是共用同一个方法,所以都是可以同时执行这个方法的。
只是加上锁之后,被同一个锁锁住的实例调用的时候会把其他线程的调用暂停而已。
没加锁的则是同时运行方法,若是同一个实例里的话。。。 就会同时对该变量进行修改造成线程错误。。。

所以一定是同一个方法。。。 只是有加锁没加锁是其他线程是否需要暂停等待的差别

回答2:

如果你的方法是同步方法或者有锁,那么不是同时执行而是顺序执行。如果没有,则有可能是同时执行。

回答3:

两个线程同时调用一个方法,这样会出问题的