我正在实现一个基于java的指数规,它将具有一个初始值(比如说1.0)并且会在时间上呈指数衰减到0.另一个函数会不时地增加规范值。现在我需要一些帮助来开发线程安全。
我正在考虑使用java计时器或执行程序来创建衰减功能,该功能将每5毫秒减少一次仪表的值。同时另一个函数,当被调用时会增加该值。
现在我假设它会出现并发问题,所以需要帮助才能正确实现它。
我的问题是:
如何设计一个将执行该函数的类,每5毫秒减少一次该值。
如何使其线程安全,以便其他线程可以更新同一个变量。
任何帮助?
答案 0 :(得分:1)
是的,计量变量会有并发性。
使用线程安全实施(例如AtomicInteger)来保存值。多个线程可以安全地同时更新此变量。
对于减小值的函数,请使用Timer。方法schedule将允许您指定句点。
(注意:您可以通过声明变量volatile来实现同步,但在开始之前,请确保您完全理解其中的含义和陷阱,例如运行var++
)