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()方法可以设定线程组中的所有线程拥有最大的优先权。
相关推荐
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 ...
在Java中,线程群组主要通过`java.lang.ThreadGroup`类来实现。线程群组不仅可以包含线程,还可以包含其他的线程群组,形成一种树形结构。 在实例63中,我们可能会看到如何创建和使用线程群组的示例。首先,让我们...
在`ThreadDemo_02.java`的例子中,可以使用`join()`方法等待`th1`线程结束后再执行`th2`,确保线程按预期顺序执行。 ```java th1.start(); th1.join(); // 等待th1线程结束后再继续执行 th2.start(); ``` 线程同步...
import mytools.java.lang.management.ManagementFactory; /** * 获取Windows系统信息(CPU, 内存, 文件系统) * @author libing */ public class WindowsInfoUtil { private static final int CPUTIME = 500; ...
文件中也提到了ThreadDemo_02.java,这部分代码演示了线程的一些状态检查和控制方法。例如,isAlive()方法可以检查线程是否还活着;sleep()方法可以让当前线程暂停执行指定的毫秒数;join()方法是等待线程结束;...
Java中的多线程主要通过`java.lang.Thread`类和`Runnable`接口来实现。 #### 二、多线程的作用和原理 1. **提高系统资源利用率**:多线程能够使CPU的空闲时间减少,提高CPU的利用率。 2. **简化程序设计**:多线程...
`Thread`类提供了一些关键方法,如`activeCount()`用于获取当前活动的执行绪数量,`currentThread()`返回当前执行绪对象,`sleep(long)`使执行绪暂停一段时间,`isAlive()`检查执行绪是否正在运行,`start()`启动...
- **Thread类**位于`java.lang`包中,继承自`java.lang.Object`。它提供了创建和管理线程的基本功能。 - **构造函数**:Thread类提供了多种构造函数形式,可以根据不同需求选择使用。 - **成员变量**: - `static ...
1. **使用 Thread 类创建多线程**:Java中的`java.lang.Thread`类是实现多线程的基础。可以通过实例化Thread类并重写其`run()`方法,或者实现`Runnable`接口并传递给Thread构造函数来创建线程。 - 构造方法包括无...
创建线程实例后,通过调用`start()`方法启动线程。 2. **实现Runnable接口**: 如果你不希望因为继承`Thread`类而破坏类的继承结构,可以选择实现`Runnable`接口。创建一个实现了`Runnable`接口的类,并重写`run()...
`thread1`和`thread2`实例化了`myThread`类,并设置了不同的参数。最后通过`start`方法启动这两个线程。 ##### 3. `Thread`类提供的方法 - `run()`: 表示线程活动的方法。 - `start()`: 启动线程活动。 - `join(...
// ThreadTest1.java public class ThreadTest1 { public ThreadTest1() { FirstThread first = new FirstThread(); SecondThread second = new SecondThread(); first.start(); second.start(); } public ...
Thread类还提供了一些静态方法,如currentThread()返回当前运行的线程引用,activeCount()返回当前线程组中的活动线程数量,enumerate(Thread[])将线程组中的活动线程复制到指定数组中。 三、线程的创建与启动 创建...
例如,修改`Example8_1.java`为`Example8_1b.java`,创建一个实现了`Runnable`接口的类,然后使用`Thread`类的构造函数`Thread(Runnable target)`创建线程。这里的`target`参数是一个实现了`Runnable`接口的实例,...
ThreadGroup 中有多个方法可以用来管理线程,例如 enumerate() 方法可以枚举当前 ThreadGroup 中的所有线程,activeCount() 方法可以获取当前 ThreadGroup 中的活动线程数量,list() 方法可以获取当前 ThreadGroup ...
可以通过以下方法检查设备的SIM卡数量: ```java SubscriptionManager subscriptionManager = (SubscriptionManager) getSystemService(Context.TELEPHONY_SUBSCRIPTION_SERVICE); int activeCount = ...