【问题标题】:how can i time my 2 threads in java我如何在java中计时我的2个线程
【发布时间】:2014-04-07 18:53:15
【问题描述】:

我有 2 个线程,一个负责接单,另一个负责分发订单。

我的第一个线程必须能够逐步从文件中获取订单并将其显示在 JTextArea-1 中,而在这种情况下,另一个线程应该能够一次从 JTextArea-1 中删除一个订单并将其粘贴到另一个 JTextArea-2。

我创建了 2 个线程并使用了 MVC 模式(有 2 个视图和 1 个模型)。线程同时显示 JTEXTAREA 中的值,这是不可接受的。我该如何解决这个问题?

从 JTextArea-1 中删除和粘贴到 JTextArea-2 之间应该有至少 5 秒的延迟。请帮忙。

【问题讨论】:

  • 你能把你的代码贴出来吗

标签: java model-view-controller concurrency timer


【解决方案1】:

根本无法理解并发警报!

这不是处理您的问题的合适方法,它可能一开始甚至不需要线程。

但是如果你坚持使用线程,你想要的是一个信号量来阻塞一个线程,直到另一个线程动作的条件存在。 “FIFO 阻塞队列” 在这里也很合适。

使用并发的暂停定时是无效的,因为它是一个不确定的系统,只会导致更微妙的失败场景。

【讨论】:

    【解决方案2】:

    您可以简单地添加一个记录文本的 synchronized 调用,以便一次只有 1 个线程可以执行该操作。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-02-20
      • 2017-06-09
      • 2020-03-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多