wait(alias2); 改成 alias2.wait();
synchronized是保留字,不是包里的.结果为没有任何输出. 因为
synchronized(alias1)
alias2.wait();===
synchronized(this)
this.wait();
程序一直在等其他线程来用notify()唤醒.
synchronized是保留字,不是包里的.结果为没有任何输出. 因为
synchronized(alias1)
alias2.wait();===
synchronized(this)
this.wait();
程序一直在等其他线程来用notify()唤醒.
synchronized 是keyWord,不在那個包里
调用这个函数而进入等待状态的线程,必须由notify()或者notifyAll()来唤醒,否则一直在等待状态public final void wait( long timeout, int nanos ) throws InterruptedException
调用这个函数而进入等待状态的线程,除了用上面方法唤醒之外,当等待时间超过了timeout的值时,线程会被自动唤醒,注意,timeout表示的是毫秒public final void wait( long timeout, int nanos )throws InterruptedException
这个方法,与上一方法相同,只是增加了一个变量nanos,表示在除了timeout表示的毫秒之外,在附加一个0-999999的纳秒附加量