首页 > 解决方案 > JMeter,线程组之间传值

问题描述

我正在研究的情况是:

一些限制:由于在第一组中生成了 n 个prodid,我希望第二组的每个线程只获得一个prodid(例如 Group2:Thread1 采用 ProdID1,Thread2 采用 ProdId2;我不想要 thread1 和 thread2取 prodId1)。
任何人都可以帮助我吗?
谢谢大家。

标签: javamultithreadingjmeter

解决方案


取决于您要实现的目标:

  1. 如果你想简单地在线程组之间传递值 - 去第一个线程组中的__setProperty()__threadNum()函数组合,比如

    • 将 JMeter 变量转换为特定于线程的 JMeter 属性:

      ${__setProperty(prodId_${__threadNum},${prodId},)}
      
    • 要读取第二个线程组中的值,请结合上述 __threadNum() 函数使用__P( ) 函数:

      ${__P(prodId_${__threadNum},)}
      

    在此处输入图像描述

  2. 对于更复杂的场景,比如你想在线程组 2 中保持一些线程执行,直到某个变量具有一些值或实现类似队列的集合 - 去线程间通信插件


推荐阅读