48、当一个线程进入一个对象的一个synchronized 方法后,其他线程是否可进入此对象的其他方法? 答:其它线程只能访问该对象的其它非同步方法,同步方法则不能进入。 49、请说出你所知道的线程同步的方法。 使用wait() 使得一个线程进入等待状态、并且释放所持的对象的lock; sleep() 使一个正在运行的线程处于睡眠状态,...
为了解决上述问题,可以让获得锁的线程开启一个守护线程,用来给快要过期的锁“续航”,如图10. 6所示。 在开启线程A时设置30s过期时长,当过去了29s,如果线程A还没执行完,这时候守护线程会执行expire指令,为这把锁“续命”20s.守护线程将会从第29s开始执行,每20s执行一次。当线程A执行完任务,会显式关掉守护线程。...