import org.apache.jmeter.threads.JMeterContextService:
int num= JMeterContextService.getNumberOfThreads()://获取当前活动的线程数
int total= JMeterConextService.getTotalThreads()://获取设置的线程总数
//.......................................................设置参数......................................................
int stepCount= 5//设置梯度次数
int start =0;
//计算每个梯度的开发数
int step = (total +stepCount-1)/ stepCount;
int Multiple = (num-start)/step; //设置的总线程数是步数的多少倍
int rem =(num-start)%step; //取余数运算
//.......................开始计算.......................
/**
*1.thread参数,事务控制器 (Transaction Controller)名称引用 ${ thread}
*
*这里主要对当前正在运行的线程数进行统计,将其结果记录到对应的阶段
*例如,设置10个线程为一步,当前正在运行的线程数量为25,则其结果放置在“线程数30”个层级下
*/
if(Multiple==0 && num<=start){
vars.put("thread",start+"并发");
}
else if (num>start && num<=(total-start)/step*step+start){
if(rem==0){
vars.put("thread",(Multiple*step+start)+"并发")
}
else{
vars.put("thread",((Multiple+1)*step+start)+"并发");
}
}
else in(num>((total-start)/step)*step+start){
vars.put("thread",total+"并发");
}
(附上图片对照,ps:主要是怕自己忘记)
