`
weigang.gao
  • 浏览: 488186 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

java.lang.Thread.activeCount()方法实例

 
阅读更多

java.lang.Thread.activeCount() 方法返回活动线程的当前线程的线程组中的数量。

 

例子

下面的例子显示java.lang.Thread.activeCount()方法的使用。

package com.bjsxt.demo;

public class ThreadDemo {

   public static void main(String[] args) {

     Thread t = Thread.currentThread();
     t.setName("Admin Thread");
     // set thread priority to 1
     t.setPriority(1);
     
     // prints the current thread
     System.out.println("Thread = " + t);
     //线程1
     Thread threadA = new Thread(new Runnable(){
		@Override
		public void run() {
              try {
				Thread.sleep(3000);
			} catch (InterruptedException e) {
				e.printStackTrace();
			}		 	
		}
	 });
     
     //线程2
     Thread threadB = new Thread(new Runnable(){
 		@Override
 		public void run() {
               try {
 				Thread.sleep(3000);
 			} catch (InterruptedException e) {
 				e.printStackTrace();
 			}		 	
 		}
   	 });
     //给线程命名
     threadA.setName("Thread A");
     threadB.setName("Thread B");
     //启动线程
     threadA.start();
     threadB.start();
     
     int count = Thread.activeCount();
     System.out.println("currently active threads = " + count);
    
     Thread th[] = new Thread[count];
     // returns the number of threads put into the array 
     Thread.enumerate(th);
    
     // prints active threads
     for (int i = 0; i < count; i++) {
        System.out.println(i + ": " + th[i]);
     }
   }
} 

 输出结果如下:


说明:线程组(ThreadGroup)就是由线程组成的管理线程的类,这个类是java.lang.ThreadGroup类。

在Java中每一个线程都归属于某个线程组管理的一员,例如在主函数main()主工作流程中产生一个线程,则产生的线程属于main这个线程组管理的一员。

定义一个线程组,通过以下代码可以实现。
ThreadGroup group=new ThreadGroup("group");
Thread thread=new Thread(group,"the first thread of group");
ThreadGroup类中的某些方法,可以对线程组中的线程产生作用。例如,setMaxPriority()方法可以设定线程组中的所有线程拥有最大的优先权。
  • 大小: 5.9 KB
分享到:
评论

相关推荐

    Java获取系统信息(cpu,内存,硬盘,进程等)的相关方法.pdf

    import mytools.java.lang.management.ManagementFactory; public class WindowsInfoUtil { private static final int CPUTIME = 500; private static final int PERCENT = 100; private static final int ...

    JAVA100例之实例63 JAVA线程群组

    在Java中,线程群组主要通过`java.lang.ThreadGroup`类来实现。线程群组不仅可以包含线程,还可以包含其他的线程群组,形成一种树形结构。 在实例63中,我们可能会看到如何创建和使用线程群组的示例。首先,让我们...

    JAVA多线程[借鉴].pdf

    在`ThreadDemo_02.java`的例子中,可以使用`join()`方法等待`th1`线程结束后再执行`th2`,确保线程按预期顺序执行。 ```java th1.start(); th1.join(); // 等待th1线程结束后再继续执行 th2.start(); ``` 线程同步...

    Java获取系统信息(cpu,内存,硬盘,进程等)的相关方法

    import mytools.java.lang.management.ManagementFactory; /** * 获取Windows系统信息(CPU, 内存, 文件系统) * @author libing */ public class WindowsInfoUtil { private static final int CPUTIME = 500; ...

    重难点之JAVA多线程.pdf

    文件中也提到了ThreadDemo_02.java,这部分代码演示了线程的一些状态检查和控制方法。例如,isAlive()方法可以检查线程是否还活着;sleep()方法可以让当前线程暂停执行指定的毫秒数;join()方法是等待线程结束;...

    Java 多线程的课程

    Java中的多线程主要通过`java.lang.Thread`类和`Runnable`接口来实现。 #### 二、多线程的作用和原理 1. **提高系统资源利用率**:多线程能够使CPU的空闲时间减少,提高CPU的利用率。 2. **简化程序设计**:多线程...

    Java执行绪的基础与使用方法.pptx

    `Thread`类提供了一些关键方法,如`activeCount()`用于获取当前活动的执行绪数量,`currentThread()`返回当前执行绪对象,`sleep(long)`使执行绪暂停一段时间,`isAlive()`检查执行绪是否正在运行,`start()`启动...

    最好的java多线程电子书

    - **Thread类**位于`java.lang`包中,继承自`java.lang.Object`。它提供了创建和管理线程的基本功能。 - **构造函数**:Thread类提供了多种构造函数形式,可以根据不同需求选择使用。 - **成员变量**: - `static ...

    多线程应用程序ppt课件

    1. **使用 Thread 类创建多线程**:Java中的`java.lang.Thread`类是实现多线程的基础。可以通过实例化Thread类并重写其`run()`方法,或者实现`Runnable`接口并传递给Thread构造函数来创建线程。 - 构造方法包括无...

    JAVA多线程.pdf

    创建线程实例后,通过调用`start()`方法启动线程。 2. **实现Runnable接口**: 如果你不希望因为继承`Thread`类而破坏类的继承结构,可以选择实现`Runnable`接口。创建一个实现了`Runnable`接口的类,并重写`run()...

    pythonthread(Python多线程处理).docx

    `thread1`和`thread2`实例化了`myThread`类,并设置了不同的参数。最后通过`start`方法启动这两个线程。 ##### 3. `Thread`类提供的方法 - `run()`: 表示线程活动的方法。 - `start()`: 启动线程活动。 - `join(...

    Java多线程机制(示例)

    // ThreadTest1.java public class ThreadTest1 { public ThreadTest1() { FirstThread first = new FirstThread(); SecondThread second = new SecondThread(); first.start(); second.start(); } public ...

    java多线程教程 java多线程教程

    Thread类还提供了一些静态方法,如currentThread()返回当前运行的线程引用,activeCount()返回当前线程组中的活动线程数量,enumerate(Thread[])将线程组中的活动线程复制到指定数组中。 三、线程的创建与启动 创建...

    初级JAVA PPT教程,适用于初级学者。忘珍惜

    例如,修改`Example8_1.java`为`Example8_1b.java`,创建一个实现了`Runnable`接口的类,然后使用`Thread`类的构造函数`Thread(Runnable target)`创建线程。这里的`target`参数是一个实现了`Runnable`接口的实例,...

    线程组ThreadGroup

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

    Android判断单双卡(5.0以上),获取手机号码;

    可以通过以下方法检查设备的SIM卡数量: ```java SubscriptionManager subscriptionManager = (SubscriptionManager) getSystemService(Context.TELEPHONY_SUBSCRIPTION_SERVICE); int activeCount = ...

Global site tag (gtag.js) - Google Analytics