Java:使用带定时器的信号量

标签 java timer semaphore

您好,我正在尝试使用 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/

相关文章:

android - 如何在 Android 中启动增量定时器

.net - 关于 .Net 中的信号量类

java - 使用 try catch finally block 时组织 java 代码

java - 在 Linux 中使用 MATLAB (Windows) 生成的 Java 包

java.lang.NoClassDefFoundError : org. apache.http.Consts

c# - 在每个项目的基础上同步线程

c++ - 不同步读写SysV共享内存(使用信号量,C/C++,Linux)

java - Apache Ant : responding to prompt for password

java - 我可以在一类应用程序中使用两个 swing 计时器在 JPanel 上执行异步任务吗?

ios - 如何创建一个计时器以固定的间隔重新加载tableView?