4

您好,我正在尝试使用semaphore.acquire()和同步类semaphore.release()。我semaphore.release()从一个名为ReadSerialPortand semaphore.acquire()from的班级打电话WriteSerialPort来将电话中心连接到 PC。我的问题是电话中心并不总是响应。

我想知道一种设置计时器并semaphore.release()在时间过去后制作的方法。

PS:我尝试使用TimedSemaphore类,但什么也没发生

4

1 回答 1

7

Jan Goynvaeis 使用 semaphore.tryAcquire(10,TimeUnit.SECONDS) 解决了我的问题的答案,因此获取将在 10 seconds 后超时。超时后即时使用 semaphore.release(0) 清除线程

于 2013-02-11T10:53:40.320 回答