gpt4 book ai didi

java - 排队顺序 UI 作业并在 UI 中显示它们

转载 作者:搜寻专家 更新时间:2023-10-31 20:23:03 25 4
gpt4 key购买 nike

如何在单个 UI 中显示多个顺序作业?

我的用例如下:

  1. 用户操作
  2. 开始第一份工作(未知长度)
  3. 等待第一个作业完成并开始第二个作业(已知长度)
  4. 等待第二个 Job 完成并开始第三个 Job(已知长度)

我想通过以下方式向用户展示:

  1. 有一个没有全局进度条的主“用户操作”对话框(因为第一个作业未知并且执行长度确实可变,我无法获得准确的总长度)
  2. 在此对话框中有 3 个子部分,一个用于每个作业,每个作业都有一个进度条,当然第一个作业使用 IProgressMonitor.UNKNOWN 样式。
  3. 在此对话框中,进度条将作为基础作业按顺序更新。

这将允许最终用户立即看到它的操作被分解为 3 个子任务(子任务对最终用户有意义)并且每次开始一个新的子任务时他都可以看到这个的长度子任务(第一个当然未知)。

经过多次搜索我无法实现,今天我将这 3 个子任务报告为 3 个单独的连续对话,其缺点是最终用户最初可能认为他的操作将在对话结束时完成第一个未知的子任务。

最佳答案

你不能实现自己的调度规则来控制作业的执行顺序,并在第一个作业执行时有效地阻止第二个作业,在第二个作业运行时有效地阻止第三个作业吗?

http://www.eclipse.org/articles/Article-Concurrency/jobs-api.html获取详细信息和代码片段。

来自上面的文章:

Any time a scheduling rule is acquired, execution of that thread might be blocked until the rule can be obtained. In situations like these, the user would benefit from seeing a dialog that shows the progress for the running task and provides feedback if the task is blocked by some other task.

虽然我自己没有实现过,但我在 Eclipse 中看到过。当工作台正在保存其状态时,当项目仍在构建时,例如,Eclipse 会报告构建进度,同时阻止状态持久性作业,直到构建完成。它在同一对话框中将作业显示为单独的条目,并清楚地表明第二个作业被第一个作业阻止。

关于java - 排队顺序 UI 作业并在 UI 中显示它们,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7037851/

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