Python Thread Return Value

Python Thread Return Value

Un thread in un programma è una raccolta di istruzioni che possono essere eseguite separatamente dal resto del programma. Di conseguenza, ciascuno dei numerosi piccoli compiti che un ampio programma può essere diviso in più thread purché la loro esecuzione sia indipendente da quella delle altre attività. Se un programma viene eseguito solo su un thread, utilizza solo una CPU o quel pezzo di codice. Tuttavia, se un programma può essere diviso in più thread e che ciascuno di questi thread utilizzi una CPU separata, il programma funzionerà molto più rapidamente ed sarà più efficace. Un thread non fornisce mai un risultato direttamente in Python. La procedura thread "start ()" che genera un thread di esecuzione, avvia le azioni di esecuzione del thread che esegue il nostro script. L'approccio "run ()" può utilizzare il metodo target se viene fornito. L'obiettivo è semplicemente quello di chiamare la funzione in un thread alcuni alla volta.

Esempio 1: funzione Python che restituisce il valore da un'operazione filettata

In questo caso, useremo uno script Python per restituire il valore della funzione dal thread. Un thread è un flusso di elaborazione unico. Ciò suggerisce che il tuo codice gestirà due eventi simultanei. La maggior parte delle soluzioni Python, tuttavia, crea solo l'idea che più thread siano attivi allo stesso tempo. Il tipo di ritorno di una funzione viene generalmente utilizzato per descrivere il valore che fornisce all'utente. Tutta la procedura Python sembra coinvolgere un gestore di eventi, direttamente o involontariamente. Un thread non risponde immediatamente ai valori. Il processo "run ()" è definito dal metodo start () del thread, creando un thread separato di elaborazione per il nostro codice. Se viene fornito, la funzione target potrebbe essere chiamata usando il metodo "run ()". Per recuperare i valori da un thread, è necessario prima creare un thread in uno script. Possiamo restituire un valore di funzione da un singolo thread o più thread.

Iniziamo ora ad implementare il codice. Innanzitutto, importa il thread dalla sezione di threading. Il modulo thread deve essere importato per creare thread in Python. La creazione dell'entità del pacchetto "threading" considera ogni thread come un oggetto. Mentre il pacchetto "thread" tiene conto di una funzione thread. Successivamente, definiamo una funzione con il nome "Func" nel passaggio successivo. Poiché questa funzione è quella che l'utente può specificare, gli abbiamo dato un nome di nostra scelta. "ArgU1" e "Returning_val" sono stati forniti come parametri alla funzione "Func" nella sua parentesi.

Quindi, nel passaggio seguente, utilizziamo "returning_val" e passiamo il valore "0" mentre impostare la frase "restituire il valore da" e passare l'argomento "argu1" con il simbolo aggiuntivo. Successivamente, abbiamo creato la variabile "returning_1_value" e impostarla su "nessuno*1". Allo stesso modo, abbiamo creato "returning_2_value" e impostarlo su "Nessuno*1" per il secondo valore di ritorno. Il metodo "Func" mostra il valore dell'argomento 1 e inserisce l'istruzione di ritorno nelle posizioni del valore 0 di ritorno.

Per creare un thread e chiamare la funzione al suo interno, dobbiamo prima chiamare "thread" e quindi "target = func" in ciascuna delle sue parentesi. Target è essenzialmente una funzione, quindi target per "func" e inviamo l'elenco degli argomenti dal thread, che contiene "thread 1" e "restituire 1 valore". In questo caso, la restituzione di 1 valore viene utilizzata per recuperare il valore dalla funzione in cui questo thread è memorizzato nella variabile "thread1".Quindi, eseguiamo la stessa procedura per il secondo thread. Chiamiamo thread e al suo interno, passiamo la funzione "func", l'elenco dei parametri per il quale è "thread 2", nonché il "returning_2_value", che utilizziamo per ottenere il valore della funzione. Questo thread lo memorizza nella variabile "thread2". I thread vengono ora iniziati utilizzando la funzione "start ()" con "thread1" e "thread2". Nel passaggio seguente, utilizziamo i metodi "join ()" per attendere che i thread finiscano l'esecuzione. La funzione "Print ()" viene quindi utilizzata nella riga seguente con gli argomenti "return_1_value" e "returning_2_value".


Nell'output, ha visualizzato il valore di restituzione. Innanzitutto, ha mostrato l'istruzione di stampa in cui abbiamo superato il valore di ritorno. Il valore per 1 è "thread1" e 2 è "thread 2". Quindi ha visualizzato l'istruzione threads, che è "restituire il valore dal thread 1" e il secondo è "restituire il valore dal thread 2".

Esempio 2: valori multipli che ottengono resi da un thread

In questo caso, restituiremo più valori dai thread al display di output. Quando un programma produce numerosi thread e cicli attraverso la loro esecuzione, è multithreading, noto anche come threading, poiché impedisce a un'operazione a lungo termine di bloccare tutti gli altri. Ciò è efficace per le attività che possono essere suddivise in secondi secondari, ognuna delle quali può essere somministrata a un thread per l'esecuzione.

Iniziamo a implementare il codice importando tre librerie. Il pacchetto Time Python fornisce una varietà di rappresentazioni di codifica per il tempo, come oggetti, numeri e caratteri. Nella prima importazione, importiamo il "sonno" dal modulo Time. Ti consente inoltre di valutare l'efficacia del tuo script e di aspettare mentre funziona, oltre ad altre funzionalità rispetto alla rappresentazione del tempo. La procedura di sonno () del modulo di tempo consente di sospendere l'esecuzione del thread chiamante per qualsiasi secondo ti piacciono. Successivamente, importa "thread" dal modulo di threading. La classe "CustomThread" è definita nel passaggio seguente e accetta l'argomento "thread" come unico parametro.

Successivamente, definiamo il metodo "_init_" e forniamo la parola chiave "self" ad esso. Ogni oggetto o classe in Python ha la parola chiave "self" assegnata. La parola chiave "self" consente di accedere rapidamente a tutti gli esempi dichiarati all'interno di una classe, compresi i suoi metodi e attributi. Uno dei metodi limitati di Python è __init__. Nella riga seguente, chiamiamo questo metodo usando un thread utilizzando "thread. in se stesso)". Quindi, nella riga seguente, definiamo la funzione "run ()" e passiamo l'argomento "sé."Quindi, usiamo il metodo" sleep () "e impostiamo il tempo su" 1 "secondi, il che significa che sostiene la sua esecuzione per un secondo.

Quindi, impostiamo i valori in ciascuna variabile di istanza usando "self.Val1 "," Self.Val2 "e" Self.Val3 "che imposta i loro valori su" ciao "," 18 "e" vero ", rispettivamente. In altre parole, abbiamo chiamato i valori passando qui la parola chiave "sé". Successivamente, abbiamo chiamato "Personalizzazione" nel thread e l'abbiamo salvata nella variabile "thread". Successivamente, utilizziamo il metodo Start () con i thread per avviare il thread e la tecnica "join ()" con "thread" per attendere l'esecuzione del programma principale. Successivamente, chiamiamo la funzione "Print ()" e, al suo interno, chiamiamo i valori di ritorno del thread che passano gli argomenti "thread.Val1 "," Thread.val2 "e" thread.Val3 ".


Come mostrato nella seguente screenshot, restituisce più valori dai thread nell'output. Il primo valore è "ciao", il secondo è "18" e il terzo è "vero", che sono valori di thread che avevamo archiviato nella funzione "run ()".

Conclusione

Abbiamo discusso di come restituire semplicemente il valore del thread o i valori di una funzione da un thread in questo articolo. In questo articolo sono state utilizzate due istanze. Il valore della funzione dell'operazione del thread è stato restituito nel primo e i numerosi valori del thread sono stati restituiti nel display di output del secondo. In ciascuna delle nostre istanze, abbiamo definito le funzioni definite dall'utente che vengono chiamate in thread. La classe "CustomThread" è stata anche definita nel secondo esempio. Trarrai beneficio dalla lettura di questo articolo durante la ricerca di questo argomento.