`
schel
  • 浏览: 3030 次
社区版块
存档分类
最新评论

ThreadGroup

阅读更多
java.lang.ThreadGroup,ThreadGroup有很多优势,最重要的一点就是它可以对线程进行遍历,知道那些线程已经运行完毕,还有那些线程在运行。关于ThreadGroup的使用代码如下:
class MyThread extends Thread { 
	boolean stopped; 
	MyThread(ThreadGroup tg, String name) { 
		super(tg, name);
		stopped = false; 
	} 
	public void run() {
		System.out.println(Thread.currentThread().getName() + " starting.");
		try {
			for (int i = 1; i < 1000; i++) {
				System.out.print(".");
				Thread.sleep(250);
				synchronized (this) {
					if (stopped)break;
				}
			}
		} catch (Exception exc) {
			System.out.println(Thread.currentThread().getName() + " interrupted.");
		}
		System.out.println(Thread.currentThread().getName() + " exiting.");
	}
	synchronized void myStop() {
		stopped = true;
	}
}
public class Main {
	public static void main(String args[]) throws Exception {
		ThreadGroup tg = new ThreadGroup("My Group");
		MyThread thrd = new MyThread(tg, "MyThread #1");
		MyThread thrd2 = new MyThread(tg, "MyThread #2");
		MyThread thrd3 = new MyThread(tg, "MyThread #3");
		thrd.start();
		thrd2.start();
		thrd3.start();
		Thread.sleep(1000);
		System.out.println(tg.activeCount() + " threads in thread group.");
		Thread thrds[] = new Thread[tg.activeCount()];
		tg.enumerate(thrds);
		for (Thread t : thrds)
			System.out.println(t.getName());
		thrd.myStop();
		Thread.sleep(1000);
		System.out.println(tg.activeCount() + " threads in tg.");
		tg.interrupt();
	}
}

1.ThreadGroup可以遍历线程,知道那些线程已经运行完毕,那些还在运行 

2.可以通过ThreadGroup.activeCount知道有多少线程从而可以控制插入的线程数
http://www.cjskb.cn
分享到:
评论

相关推荐

    Jmeter插件Stepping Thread Group

    在JMeter的众多插件中,“Stepping Thread Group”是一个非常实用的功能,它允许测试人员进行梯度压力测试,即逐步增加并发用户数量来模拟真实世界中的负载情况。 Stepping Thread Group与标准的Thread Group不同,...

    jmeter2.1.3,带Ultimate Thread Group,json插件

    在这个版本中,我们特别关注的是“Ultimate Thread Group”和“JSON插件”,这两个组件极大地提升了JMeter的功能和灵活性。 首先,让我们深入了解一下Ultimate Thread Group。在标准的JMeter中,线程组(Thread ...

    线程池程序-threadGroup

    标题“线程池程序-threadGroup”暗示我们将讨论线程池以及它与线程组(ThreadGroup)的关系。线程组是Java中对线程进行组织和管理的一种方式,它是`java.lang.ThreadGroup`类的实例。线程组可以包含线程和其他线程组...

    线程组ThreadGroup

    ThreadGroup 中有多个方法可以用来管理线程,例如 enumerate() 方法可以枚举当前 ThreadGroup 中的所有线程,activeCount() 方法可以获取当前 ThreadGroup 中的活动线程数量,list() 方法可以获取当前 ThreadGroup ...

    开源项目-lukechampine-threadgroup.zip

    《深入解析Lukechampine的开源项目:threadgroup》 Lukechampine的开源项目"threadgroup",正如其描述中所言,是基于sync.WaitGroup的增强版本,被誉为"sync.WaitGroup on steroids"。这个项目的核心在于提供了一个...

    threadGroup-WaveRatio

    jmeter测试文件

    Jemter多用户并发测试。

    1. 选择 Thread Group 右键,添加一个 Summary Report。 2. 运行测试,查看结果。 测试结果包括样本数目、最新样本、吞吐量、平均值、中间值和偏离等指标。这些指标可以帮助我们了解服务器的性能和响应速度。 结论...

    Thread Group1.jmx

    JMeter模拟压测简单案例, 详细步骤见https://blog.csdn.net/weixin_43575868/article/details/108731214

    jmeter 参数脚本演示

    如果你想获取总的线程数,可以结合使用`${__jm__ThreadGroup__idx}`,它返回线程组中的线程总数。 最后,通过查看“Jmeter参数化方法汇总教程测试脚本”这个压缩包内的文件,你可以更直观地学习这些概念。实际操作...

    关于Thread讲解

    根据给定文件的信息,本文将围绕“Java中的线程管理”这一主题展开,具体包括线程(Thread)和线程组(ThreadGroup)的基本概念、创建方式、以及线程池的相关知识点。 ### 一、线程与线程组 #### 1. 线程的概念与...

    Thread-1.3.0-Specification (2023)

    Thread 1.3.0协议是物联网(IoT)领域中的一个关键标准,它是由Thread Group, Inc.董事会在2023年的规范审查期结束后批准的公共规范。这个协议旨在提升智能家居、智能建筑和其他物联网环境中的无线网络连接性能和效率...

    JMeter开源压力测试平台介绍.pptx

    JMeter 测试计划元件包括 ThreadGroup、Controller、Sample、Listeners、Test Fragments、Timer、Assertions、Configuration elements、Pre-processor、Post-processor、Execution order 等。ThreadGroup 是线程组,...

    jmeter操作实例分析.pdf

    * setUp Thread Group:一种特殊类型的Thread Group,用于执行预测试操作。 * tearDown Thread Group:一种特殊类型的Thread Group,用于执行测试后的动作。 * Thread Group(线程组):用于模拟多个用户的行为,每...

    Java第九章多线程程序设计基础篇.ppt

    可以显式创建 Threadgroup 对象,也可以隐式地将新创建的线程自动属于创建该线程的线程组。 §9.4 线程状态和线程控制 线程的状态可以是:NEW、RUNNABLE、BLOCKED、WAITING、TIMED_WAITING、TERMINATED。这五种...

    使用JMeter对ZK性能测试时需要安装的插件

    1.Create a Thread Group in Test Group. 2.Add HTTP Cookie Manager in Thread Group 3.Add HTTP Request Defaults in Thread Group. 4.Add Transaction Controller in Thread Group. 5.Edit HTTP Request Defaults...

    JavaThread.pdf

    - 通过创建ThreadGroup对象可以将线程分组管理,例如可以设置同一组内所有线程的优先级。 4. **线程同步** - 使用synchronized关键字可以保证在多个线程访问共享资源时的线程安全。 - 通过监视器对象来实现同步...

    java多线程总结(二)

    ThreadGroup[] subGroups = new ThreadGroup[group.activeGroupCount()]; group.enumerate(subGroups); for (ThreadGroup subGroup : subGroups) { groups.add(subGroup.getName()); groups.addAll...

    SAMS Java Thread Programming

    2. **附录B:ThreadGroup API**(The ThreadGroup API) - **API介绍**:介绍`ThreadGroup`类API的基本信息。 - **功能特性**:总结`ThreadGroup`类的主要功能和特点。 - **使用场景**:列举`ThreadGroup`类在多...

    在Java中创建线程有两种方法.doc

    - `Thread(ThreadGroup group, Runnable target, String name, long stackSize)`:指定线程组、线程任务、线程名称和线程栈大小。 - **注意事项**: - `Runnable target`:实现了`Runnable`接口的类的实例。需要...

    jmeter插件之自定义场景图(万能场景设计)

    在JMeter中,我们可以通过安装插件来扩展其功能,其中"jp@gc - Ultimate Thread Group"是JMeter的一款强大插件,它允许测试人员创建更加复杂的、自定义的场景图,以模拟真实世界中的用户行为。 标题中的“jmeter...

Global site tag (gtag.js) - Google Analytics