我有多线程应用程序。某些线程中的某个时间因外部网络原因发生异常。我想用例如等待(60000) - 重新连接1分钟。 我应该明确地使用同步方法,例如:
public void synchronized reconnect(){
wait(60000);
................. }
或者可能:
public void reconnect(){
wait(60000);
................. }
感谢。
答案 0 :(得分:5)
正如Eugene所写,当前线程必须获取对象的锁定。没有必要通过同步方法完成。您也可以通过显式同步来获取锁定:
public void reconnect() {
// some code
synchronized (this) {
wait(60000);
}
// some other code
}
这取决于你需要实现的目标。
答案 1 :(得分:4)
必须是!在实际等待之前,您必须获取对象的锁定。
干杯,尤金。