Java 等待(某段时间)是否必须始终在同步方法中?
我有多线程应用程序。在某些线程中,由于外部网络原因,有时会发生异常。我想使用例如等待(60000)-1分钟来重新连接。 我是否应明确输入同步方法,例如:Java 等待(某段时间)是否必须始终在同步方法中?,java,database,multithreading,wait,synchronized,Java,Database,Multithreading,Wait,Synchronized,我有多线程应用程序。在某些线程中,由于外部网络原因,有时会发生异常。我想使用例如等待(60000)-1分钟来重新连接。 我是否应明确输入同步方法,例如: public void synchronized reconnect(){ wait(60000); ................. } 或者有可能: public void reconnect(){ wait(60000); ................. } 谢谢。一定是这样!您必须先获得对象的锁,然后才能真
public void synchronized reconnect(){
wait(60000);
................. }
或者有可能:
public void reconnect(){
wait(60000);
................. }
谢谢。一定是这样!您必须先获得对象的锁,然后才能真正等待
干杯,尤金。正如尤金所写,当前线程必须获得对对象的锁定。这不需要通过同步方法来完成。您还可以通过显式同步获得锁:
public void reconnect() {
// some code
synchronized (this) {
wait(60000);
}
// some other code
}
这取决于你需要实现的目标