1.使用reentrantLock出现错误
2.代码:
private Lock lock = new ReentrantLock();
try {
if (lock.tryLock()) {
if (ClientLib.IfNeedUpdateLyric() == 1) {
currentSongName = ClientLib.GetCurrentSongName();
currentSingerName = ClientLib.GetCurrentSingerName();
Message message_lyr = handler.obtainMessage();
message_lyr.what = 110;
handler.sendMessage(message_lyr);
}
}
} catch (Exception e) {
e.printStackTrace();
} finally {
lock.unlock(); // 报错行
}
3.错误信息:
Process: com.multak.client, PID: 28025
java.lang.IllegalMonitorStateException
at java.util.concurrent.locks.ReentrantLock$Sync.tryRelease(ReentrantLock.java:123)
at java.util.concurrent.locks.AbstractQueuedSynchronizer.release(AbstractQueuedSynchronizer.java:1235)
at java.util.concurrent.locks.ReentrantLock.unlock(ReentrantLock.java:429)
at com.multak.client.MainActivity.GetProNum(MainActivity.java:845)
at com.multak.client.MainActivity$17.run(MainActivity.java:789)
at java.util.Timer$TimerImpl.run(Timer.java:284)
4.求指教啊……