[python] funzioni in parallelo senza fermare il programma

Linguaggi di programmazione: php, perl, python, C, bash e tutti gli altri.
ilmandorlone
Prode Principiante
Messaggi: 45
Iscrizione: mercoledì 15 febbraio 2012, 20:49

[python] funzioni in parallelo senza fermare il programma

Messaggio da ilmandorlone »

ciao a tutti vorrei sapere molto semplicemente come eseguire una funzione in python senza dover aspettare che quest'ultima finisca il processo.
esempio poteri avere una funzione che invia un email oppure una che registra un video, insomma qualche funzione che richiede parecchio tempo come calcoli complessi o altra ma che però se la richiamo non devo aspettare il termine per continuare con il resto del software.

questo mi serve perché sto costruendo un sistema di allarme con raspberry che appunto esempio quando rileva una porta aperta deve registrare un video ma allo stesso tempo il programma deve continuare a sentire i vari sensori.
un altro esempio è quando invio un avviso con email o "sms" su telefono devo per forza aspettare i loro tempi rischiando di perdere informazioni importanti dai sensori.
bennes
Prode Principiante
Messaggi: 190
Iscrizione: lunedì 14 luglio 2014, 0:50
Desktop: KDE
Distribuzione: Linux Kubuntu 15.04 x86_64

Re: [python] funzioni in parallelo senza fermare il programm

Messaggio da bennes »

Usa i threads. Documentazione

Esempio veloce:

Codice: Seleziona tutto

from threading import Thread

def registra():
  # registra video
  pass

def main():
  # funzione principale
  # rilevata porta aperta! inizia a registrare
  t = Thread(target=registra)
  t.start()
  # continua a fare altre cose

Usate Google prima del forum ^^
Scrivi risposta

Ritorna a “Programmazione”

Chi c’è in linea

Visualizzano questa sezione: 0 utenti iscritti e 8 ospiti