使用tryLock锁定传递给函数的对象

时间:2014-11-01 11:22:35

标签: multithreading

我如何使用以这种方式传递的tryLock的{​​{1}}获取锁定:

integer

1 个答案:

答案 0 :(得分:1)

你不能。 tryLock是Lock而不是整数的API,它没有名为i的公共整数字段,因此编译错误。查看有关相同http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/locks/ReentrantLock.html

的完整文档
Lock lock = new ReentrantLock();


public void function(Integer i) {
    try{
      if(lock.tryLock()){ //-> syntax error gone
       } 
    }finally{
       lock.unlock();
    }
}