gpt4 book ai didi

java - 我可以在这个程序中实现线程以使其更快吗?

转载 作者:行者123 更新时间:2023-12-02 05:58:49 25 4
gpt4 key购买 nike

程序:平方数测试仪

它的作用:测试您输入的数字以内的平方数

这是应用程序的逻辑/流程图

  1. 打开/运行文件
  2. 显示一个 JOptionPane,询问您要输入的最大数字
  3. 输入后,显示一个 JFrame,其中包含您提出的所有问题
  4. 完成后,打开一个对话框询问您是否要重试并显示每个问题所用时间的图表。

如果有人想看看我到目前为止所拥有的内容,请参阅来源:https://github.com/Injustice/SquareNumberTester

最佳答案

根据您对过程的描述,这似乎不是。

在考虑并行计算时,您需要考虑代码的哪些部分可以同时执行以及这些操作是否具有较长的计算时间。您的过程似乎大多是连续的,即您响应用户输入,但无法充分利用他的思考时间。

考虑两种情况:

  • 假设准备问题所需的计算时间很长。用户输入后您需要准备许多问题。
    • 顺序:您可以让用户等待所有问题都准备好,然后在回答时闲置。
    • 并行:您在用户回答的同时准备问题。当在后台添加问题时,“用户线程”将向“问题准备”线程询问下一个问题。 “问题准备”线程就像问题的缓冲区。
  • 假设准备问题所需的计算时间始终短于用户回答所需的时间。在这种情况下,没有区别,因为用户没有等待时间 - 您可以在他思考时准备下一个(一个)问题,并重复执行此操作,而不需要问题缓冲区。

有关 Java 和并行执行的更多信息,请参阅 tutorial on concurrency .

有关与“代码的并行或顺序程度”相关的加速信息,请参阅 Amdahl's law .

关于java - 我可以在这个程序中实现线程以使其更快吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22844843/

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