在Java的ThreadPoolExecutor中,你可以使用以下方法来获取正在执行的线程数和等待队列的大小: 1. 获取正在执行的线程数:你可以使用`getPoolSize()`方法来获取ThreadPoolExecutor中的线程数。 ```java int runningThreads = executor.getPoolSize(); ``` 2. 获取等待队列的大小:你可以使用`getQueue().size()`方法来获取等待队列的大小。 ```java int waitingQueueSize = executor.getQueue().size(); ``` 注意:`getQueue()`返回的是一个BlockingQueue,这个队列实际上是一个内部类,所以你需要通过`executor.getQueue()`来获取这个队列。 完整代码示例: ```java ExecutorService executor = Executors.newFixedThreadPool(10); // 提交任务 executor.submit(new Runnable() { @Override public void run() { // 执行任务 } }); // 获取正在执行的线程数 int runningThreads = executor.getPoolSize(); // 获取等待队列的大小 int waitingQueueSize = executor.getQueue().size(); System.out.println("Running threads: " + runningThreads); System.out.println("Waiting queue size: " + waitingQueueSize); ``` 在这个示例中,我们创建了一个固定大小的线程池,并提交了一个任务。然后我们获取了正在执行的线程数和等待队列的大小。 [2023-11-10 11:31:56 | AI写代码神器 | 294点数解答]