您好,我正在尝试使用 semaphore.acquire()
同步类和 semaphore.release()
.我打电话 semaphore.release()
来自一个名为 ReadSerialPort
的类和 semaphore.acquire()
来自 WriteSerialPort
将电话中心连接到 PC。我的问题是电话中心并不总是响应。
我想知道一种设置定时器并制作 semaphore.release()
的方法时间过去之后。
P.S:我尝试使用 TimedSemaphore
上课,但什么也没发生
最佳答案
我的问题的答案由 Jan Goynvaeis 使用 semaphore.tryAcquire(10,TimeUnit.SECONDS) 解决,因此获取将在 10 秒后超时。超时后使用 semaphore.release(0) 清除线程
关于Java:使用带定时器的信号量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14776355/