搜索解决方案以确定具体的方法执行情况。不明白方法的名称,但是方法的具体的执行。例如,如果在同一方法的同一对象上同时在两个线程中进行递归调用,则可能。
答案 0 :(得分:0)
可以同时从不同的线程调用静态方法以及实例的方法。
虽然你应该处理竞争条件以及访问和修改对象所引起的一般问题,这些问题在这些线程之间共享(如果两个线程使用相同的类实例,通常所有静态对象以及实例成员)< / p>
使用以下代码可以同步对共享对象的访问权限:
public class Calculator {
private int c;
public void increment() {
synchronized(c) {
c++;
}
}
}
更多信息:http://docs.oracle.com/javase/tutorial/essential/concurrency/locksync.html
使用以下代码可以同步对共享方法的访问权限:
public synchronized void increment() {
c++;
}
更多信息:http://docs.oracle.com/javase/tutorial/essential/concurrency/syncmeth.html
更高级的东西,可以让你达到更好的性能ReadWriteLock,但你现在不需要它。