您好我试图使用semaphore.aqcuire()
和semaphore.release()
同步类。我从名为semaphore.release()
的班级拨打ReadSerialPort
,从semaphore.aqcuire()
拨打WriteSerialPort
,将电话中心与PC连接。我的问题是电话中心并不总是响应。
我想知道一种设置计时器的方法,并在时间结束后制作semaphore.release()
。
P.S:我尝试使用TimedSemaphore
类,但没有发生任何事情
答案 0 :(得分:3)
Jan Goynvaeis使用semaphore.tryAcquire(10,TimeUnit.SECONDS)解决了我的问题的答案,因此获取将在10秒后超时。超时后我使用semaphore.release(0)来清除线程