我想知道是否有可能在Linux下使用POSIX线程库实现以下逻辑。
given a mutex
if (I can get the mutex) {
lock the mutex
call fun A
unlcok the mutex
}
else {
call fun B
}
我是Linux下的线程编程新手,所以只需使用伪代码来显示我正在寻找的代码片段的逻辑即可。
我是为Android2.2开发的,对ReentrantLocks的工作原理有点困惑。下面的代码会抛出IllegalMonitorStateException吗?我之所以这样问,是因为我不明白它是如何做到的--根据API的说法,当且仅当成功获得锁时,tryLock才会返回true --但有时unlock()命令会这样做。
public void lockDemo() {
ReentrantLock myLock = new ReentrantLock();
if (myLock.tryLock()) {
System.out.println("Lock o