lock、tryLock 和 lockInterruptibly 都是用于线程同步的方法,但它们有不同的行为和用途:
lock() 方法是 Java 中 Lock 接口定义的一部分,它用于获取锁并阻塞当前线程,直到锁可用为止。lock() 方法会导致当前线程阻塞,直到锁被释放为止。lock() 方法没有设置超时时间,因此它会一直等待直到获得锁或者线程被中断。tryLock() 方法是 Lock 接口的另一种获取锁的方式,它尝试获取锁,但不会阻塞当前线程。tryLock() 会立即返回 true,表示成功获得锁。tryLock() 会立即返回 false,表示获取锁失败。tryLock() 方法可以接受一个超时参数,指定等待的最大时间,在指定时间内如果无法获得锁,会返回 false。lockInterrup