Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    Controllo sul numero massimo di thread

    Ciao.

    All'interno di un ciclo for richiamo una classe che estende un thread e richiamo il metodo start().
    Vorrei limitare il numero massimo di thread contemporanei in esecuzione mediante un valore contenuto in un file di property. Non mi viene in mente nessuna soluzione che funzioni correttamente.
    Qualcuno può aiutarmi?
    Grazie a tutti per la cortesia e il tempo dedicatomi.

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: Controllo sul numero massimo di thread

    Originariamente inviato da CrackBagato
    Vorrei limitare il numero massimo di thread contemporanei in esecuzione
    Il numero di thread che sono effettivamente in esecuzione cioè in stato "running" non lo puoi stabilire tu.

    Puoi stabilire quanti oggetti Thread istanziare e poi avviare. Ma come determinare il numero e sopratutto decidere cosa fare se sei arrivato al limite ... lo devi stabilire tu.

    Immagina: da un file di property hai letto una proprietà, parsato la stringa in numero e hai es. 5. Ad un certo momento arrivi nel punto in cui devi istanziare un nuovo thread e sei già a 5 .... che intendi fare? Bloccare il thread corrente in attesa che un thread finisca? Ignorare la richiesta?

    Dipende da cosa devi fare di preciso .... e se per caso i tuoi thread eseguono, concettualmente, lo stesso tipo di "lavoro", potresti usare l'Executor Framework introdotto in Java 5 che permette di gestire un "thread pool". Ma bisogna vedere appunto cosa devi fare di preciso.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Ciao. Scusa se mi sono spiegato male. haio centrato il mio problema: quello che voglio fare è appunto non istanziare più thread sino a che il loro numero non è sceso al di sotto della soglia fissata. Sostanzialmente mi serve un modo per fermare la prosecuzione del ciclo for fino a che il numero di thread istanziati non scende sotto la soglia.
    Grazie

  4. #4
    Concettualmente tutti i thread devono eseguire lo stesso lavoro, cioè recuperare una sequenza binaria che rappresenta un pdf da una chiamata http; ciò che cambia sono i parametri passati all'url. Tuttavia non conosco il tool che hai citato. Puoi dirmi qualcosa in più. Mille grazie

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.