gpt4 book ai didi

java - 实现线程安全的指数量规

转载 作者:行者123 更新时间:2023-12-01 13:39:32 24 4
gpt4 key购买 nike

我正在实现一个基于java的指数仪表,它有一个初始值(比如1.0),并且会随着时间以指数方式衰减到0。另一个函数会不时地增加仪表值。现在我需要一些帮助来开发它的线程安全。

我正在考虑使用 java 计时器或执行器来创建衰减功能,该功能将每 5 毫秒减少一次仪表的值。同时另一个函数,当调用get时会增加该值。

现在我假设它会出现并发问题,因此需要帮助才能正确实现它。

我的问题是:

  1. 如何设计一个类来执行每 5 毫秒减少该值的函数。

  2. 如何使其线程安全,以便其他线程可以更新同一变量。

有什么帮助吗?

最佳答案

是的,仪表变量将会并发。

使用线程安全实现,例如 AtomicInteger来保持值(value)。多个线程可以安全地同时更新此变量。

对于减小值的函数,请使用 Timer 。方法schedule会让您指定一个时期。

(注意:您可以通过将变量声明为 volatile 来实现同步,但在开始执行此操作之前,请确保您完全理解其中的含义和陷阱,例如运行 var++)

关于java - 实现线程安全的指数量规,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20944223/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com