当前位置: 首页 > 知识库问答 >
问题:

实现线程安全指数规

滕项明
2023-03-14

我正在实现一个基于java的指数量表,它将有一个初始值(比如1.0),并在时间上呈指数衰减到0。另一个功能将不时增加仪表值。现在我需要一些帮助来开发线程安全的。

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

现在我假设它会有并发问题,所以需要帮助来正确实现它。

我的问题是:

>

  • 如何设计一个类,该类将执行函数以每5毫秒减少一次值。

    如何使其线程安全,以便其他线程可以更新相同的变量。

    有什么帮助吗??

  • 共有1个答案

    微生昌勋
    2023-03-14

    是的,仪表变量将同时存在。

    使用线程安全实现(如原子整数)来保存值。多个线程可以同时安全地更新此变量。

    对于减小值的功能,使用计时器。方法计划将允许您指定时段。

    (注意:您可以通过声明变量volatile来实现同步,但在开始之前,请确保您完全理解运行var等含义和陷阱。)

     类似资料:
    • 本文向大家介绍如何实现Java线程安全问题,包括了如何实现Java线程安全问题的使用技巧和注意事项,需要的朋友参考一下 这篇文章主要介绍了如何实现Java线程安全问题,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 解决线程安全问题的第一种方案:使用同步代码块 格式:   synchronized(锁对象) {     可能会出现线程安全问题的代码

    • 问题内容: 我一直在花一些时间调试一个导致分段错误的程序。该错误是不确定性和断断续续的,这很烦人。我把范围缩小到了。我怀疑是在两个不同的线程中拆分字符串的调用导致了分段错误。我可以在两个不同的线程中调用吗? 谢谢。 问题答案: 不是可重入的,因此不应在线程化应用程序中使用它,而应使用。

    • 问题内容: 我从一个非常简单的多线程示例开始。我试图做一个线程安全的计数器。我想创建两个线程,使计数器间歇地增加到1000。以下代码: 据我所知,while循环现在意味着只有第一个线程才能访问计数器,直到达到1000。输出: 我该如何解决?如何获得共享计数器的线程? 问题答案: 两个线程都可以访问您的变量。 您看到的现象称为线程饥饿。输入代码的受保护部分后(很抱歉,我之前错过了它),其他线程将需要

    • 问题内容: HttpUrlConnection线程安全吗?即,如果我有一个连接到服务器的HttpConnection实例,并且该实例被不同的线程使用(例如,尝试同时发送POST),HttpUrlConnection将如何处理这种情况?a)他们将串行发送POST,还是b)第一个线程发送POST,获取响应,然后第二个线程发送POST?如果它们以串行方式发送POST,则意味着到同一tcp连接的多个活动P

    • 假设我有一个Executors静态工厂方法的ExecutorService实例。 如果我从某个线程提交了一个调用,其中RetVal不是线程安全的本地实例化对象,那么当我从同一个线程获得()它时,我需要担心retvals的完整性吗?人们说局部变量是线程安全的,但我不确定当您返回一个本地实例化的对象并从其他线程接收它时,它是否适用。 下面是我的定制实现,我只是为了测试。您可以忽略EType枚举。

    • 在PHP初期,是作为单进程的CGI来运行的,所以并没有考虑线程安全问题。 我们可以随意的在全局作用域中设置变量并在程序中对他进行修改、访问,内核申请的资源如果没有正确的释放, 也会在CGI进程结束后自动地被清理干净。 后来,php被作为apache多进程模式下的一个模块运行,但是这仍然把php局限在一个进程里, 我们设置的全局变量,只要在每个请求之前将其正确的初始化,并在每个请求之后正确的清理干净