【问题标题】:Java. Simulating users periodical actions (Threads, ExecutorService)爪哇。模拟用户周期性动作(Threads、ExecutorService)
【发布时间】:2015-04-18 10:07:27
【问题描述】:

我想制作一个 java 独立应用程序,模拟用户定期向服务器发出 post 请求。

我计划使用 Retrofit 发出 http 请求,并使用 ExecutorService 来控制“用户”并安排任务(发布请求)。这个想法是我不想注册 same 任务 一遍又一遍地重复,但要定期为每个用户完成一项新任务。

让我举个例子:

有 3 个用户 (|),每个用户每 10 秒 (-----) 发出一个发布请求,并带有随机初始延迟 (**)。请注意,任务是不同的。

|**task1-----task11-----task111-----task1111....
|******task2-----task22-----task222-----task2222....
|****task3-----task33-----task333-----task3333....

我知道像 ApacheJMeter 这样的工具已经做到了,但他们可以 很难设置,我有兴趣从头开始构建自己的。

什么是实现这一目标的专业而优雅的方式?

提前谢谢你,
亚历山大

【问题讨论】:

  • 什么是实现这一目标的专业而优雅的方法? 使用正确的工具来完成这项工作。例如 Apache JMeter。
  • Apache Jmeter 最好!为什么要重新发明轮子?
  • 如果你想安排时间,你应该考虑使用ScheduledExecutorService而不是“普通”ExecutorService
  • @BoristheSpider 和 SMA,这是一个个人项目,我有兴趣与线程/参与者一起工作。 fge 根据我的理解 ScheduledExecutorService 安排了 same 的事情一遍又一遍地被调用,而这并不是我所追求的

标签: java multithreading scheduledexecutorservice


【解决方案1】:

最简单的想法是创建 USERS * 线程,其 run() 方法看起来类似于

void run() {
     while(1) {
          doStuff();
          sleep(SECONDS * 1000);
     }
}

但我不确定这是否是正确的方法

【讨论】:

    猜你喜欢
    • 2015-02-08
    • 2017-08-02
    • 2011-09-19
    • 2014-03-15
    • 2019-05-19
    • 1970-01-01
    • 2022-06-15
    • 1970-01-01
    • 2014-09-07
    相关资源
    最近更新 更多