La classe ThreadPoolExecutor nei Java SE 6 documenti ha la seguente method:Java pool di thread esecutore Monitoraggio
public int getActiveCount()
Restituisce il numero approssimativo di thread che sono attivamente l'esecuzione di compiti.
Qual è il significato di approssimativa e esecuzione attivamente qui?
C'è qualche garanzia che, se prima, durante e dopo la chiamata a getActiveCount()
- N le discussioni sono state assegnate dal pool per l'esecuzione delle attività, e
- Nessuno di questi N thread sono disponibili per ulteriori compiti,
il numero intero restituito da getActiveCount()
sarà esattamente N?
Se getActiveCount()
non fornisce questa garanzia, esiste un altro modo per ottenere queste informazioni in modo più preciso?
precedenti domande in modo da:
ho guardato Thread Pool Executor Monitoring Requirement e How to tell if there is an available thread in a thread pool in java, ma non rispondere alle mie domande.
Esiste una necessità specifica per un 'ThreadPoolExecutor', in questo caso potrebbe essere utilizzato un metodo factory come 'Executors.newFixedThreadPool (N)'? – posdef
@posdef, ho bisogno di una coda di attività limitata. È possibile con 'newFixedThreadPool()'? –
Bene, ciò che si ottiene è un servizio executor con un pool di thread di dimensioni definite dall'utente. Controlla i javadoc se soddisfa le tue esigenze. Li ho trovati davvero molto utili :) – posdef