当多个线程并行运行时,如何将线程变量保留在jmeter中?

时间:2017-03-09 04:01:50

标签: java parallel-processing jmeter beanshell

我的多个线程并行运行。 任何请求都可以从多次的任何线程中被触发。 我已使用 vars.put()将请求变量存储在beanshell中。 我使用 vars.get()在另一个beanshell中检索了这些变量。 但是当Thread并行运行时,我希望在重新获取变量时使用它 应该检索当前Thread的值。 在java中有点像我们如何使用这个关键字并获取当前对象的属性。 我怎么能这样做?

int ThreadNum = ctx.getThreadNum();
String[] Request_values= new String[Request_variables.length];
  

我如何将线程号码连接到Request_values?

2 个答案:

答案 0 :(得分:3)

JMeter变量基本上是ThreadLocal,因此您不需要做任何事情。

如果需要访问线程2中线程1的变量值,可以使用${__threadNum} function作为前缀或后缀,将当前线程编号附加到JMeter变量名称。

答案 1 :(得分:2)

  

你可以使用 vars.putObject(“”,“”)来放置你的字符串数组;   在这个时候你可以用keyname连接你的主题号码。

int ThreadNum = ctx.getThreadNum();
String[] Request_values= new String[Request_variables.length];
vars.putObject("Key_"+ThreadNum ,Request_values);