简单的问题,但是我没有多线程经验。如果两个线程使用相同的同步方法(在Java中),并且第一个线程无法在给定时间访问该方法(因为第二个线程正在使用它),则第一个线程会等待(冻结)一段时间,然后尝试访问它再来一次,还是只是放弃而根本不访问它?
根据文档,第一个方法将阻塞并等待直到可以使用该方法
当一个线程正在执行对象的同步方法时,所有其他线程调用同一对象块的同步方法(挂起执行),直到第一个线程对该对象完成。
我不确定是否能正确记住100%,但是如果内存对我有用,那么JVM不会对线程在释放后能够获取锁的顺序提供任何保证。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句