Il simultaneo.Il pacchetto Futures è una parte della Biblioteca normale Python. In Python 3.2, questo pacchetto è stato creato per dare ai programmatori un'interfaccia elevata per l'avvio di processi simultanei. Questo è un livello intermedio costruito in cima al multitasking di Python e ai pacchetti multiprocessing che ti consentono di eseguire attività utilizzando un pool di thread o procedure. All'interno di questo articolo, daremo un'occhiata alla classe Executor del pool di thread e alle sue funzioni.
Esempio 01:
Diamo un'occhiata alla classe di esecutore del pool di thread all'interno del nostro codice Python. In primo luogo, abbiamo usato il "simultaneo.Pacchetto Futures ”utilizzando la parola chiave“ From ”nella prima riga per importare la classe“ ThreadPoolexutor ”nel codice. Dopo questo, abbiamo inizializzato un elenco di 4 numeri. La prima funzione è una funzione definita dall'utente denominata "quadrata" e calcolerà un quadrato di un valore passato nei suoi argomenti. L'altro metodo è la funzione del costruttore i.e., Metodo principale () man mano che l'esecuzione inizia da i. Quindi, la funzione definita dall'utente "Square" è definita utilizzando la parola chiave "def" e prende il valore dell'argomento per calcolare il suo quadrato.
Le staffe "" vengono utilizzate per prendere il valore numerico di una variabile "z" invece di prendere "z" come stringa qui. Carattere "F" Prima della dichiarazione di testo e di calcolo mostra che i valori verranno presi come galleggianti e il loro quadrato verrà calcolato. L'istruzione di stampa sta utilizzando questo formato per ottenere un quadrato e stamparlo nella shell di uscita spyder3. Ora, ecco il costruttore di funzioni principali (). Il costruttore sta inizializzando un elenco vuoto chiamato "Val". È ora di utilizzare la classe ThreadPoolexecutor per creare un pool di 5 thread da utilizzare in modo asincrono.
Per questo, utilizza l'istruzione "con" con il nome "ThreadPoolexecutor" che prende un argomento "Max_Workers" con il valore 5. Puoi vederlo come un ciclo che prende 1 valore ogni volta. La funzione di invio della classe ThreadPoolexecutor viene utilizzata per eseguire una funzione i.e., "Quadrato" e produce un quadrato di un numero passato ad esso. Sta prendendo il numero 1 come valore iniziale al metodo quadrata e dopo questo, prenderà i valori dall'elenco "L". La funzione "mappa" viene utilizzata qui per tradurre rapidamente la funzione e iterare collettivamente come uno e solleva un errore nella "concomitante.Pacchetto Futures ". L'eccezione verrà memorizzata nella variabile "val" e l'istruzione di stampa verrà utilizzata per visualizzare quell'eccezione utilizzata nel ciclo "per" nella schermata di uscita.
da simultaneo.Futures Importa ThreadPoolexecutorIl pool di 5 thread è stato creato per calcolare un quadrato di 5 valori a partire da 1 a 5 come visualizzato nell'output.
Esempio 02:
Ecco che arriva l'ultimo esempio di utilizzo della classe ThreadPoolexecutor nel codice Python. Quindi, abbiamo iniziato questi nuovi esempi con l'importazione di una classe utilizzando il suo pacchetto “Concorrente.Futures ". Quindi, inizializza una "somma" variabile con 0 valore. La funzione definita dall'utente denominata "processo" viene dichiarata prendendo un argomento "n" in essa. Questa funzione sta stampando i numeri del thread tramite l'istruzione di stampa. Il numero di thread viene riassunto con il numero 5 aggiunto alla variabile "somma". Questa somma calcolata per ciascun thread verrà mostrata sull'output che utilizza l'istruzione di stampa. La definizione del metodo principale è stata avviata qui. Sta usando il threadpoolexecutor per la creazione di un pool di 3 thread. La funzione "Process" è stata chiamata 3 volte utilizzando la funzione "Invia" per 3 valori diversi. Dopo aver eseguito tutti i thread del metodo di processo, visualizzerà il messaggio di completamento. La dichiarazione di funzione principale () viene utilizzata dopo.
da simultaneo.Futures Importa ThreadPoolexecutorL'esecuzione mostra che viene avviato il pool e viene visualizzato ogni numero di thread con la sua somma con numero 5.
Conclusione:
Abbiamo coperto e discusso la classe ThreadPoolexecutor e tutte le funzioni eventualmente utilizzate nei nostri esempi. Dovremmo renderlo senza pretese quanto probabile per i nostri utenti. Abbiamo dato un'occhiata a una mappa e anche la funzione. Ci aspettiamo la migliore risposta.