[Risolto] multithreading?

Madwriter:
Prima cosa benvenuto, c'è l'apposito topic per le presentazioni sarebbe bello che tu ti presentassi a tutti.(ps complimenti per aver usato le sezioni quasi nessuno all'inizio le usa :grin: )
Finita questa piccola parentesi vediamo un pò come fare a spiegarti come funziona un arduino

  1. come viene gestita la sovrapposizione di questi tempi? Cioè, se premo un secondo pulsante mentre il primo carico è ancora "ON" e in loop (o delay), cosa succede?

Il loop esegue il tuo codice all'infinito ora se passa la prima volta mette on, se passa la seconda mette off, se metti un delay il codice si blocca e quello che dovrebbe essere eseguito dopo non viene eseguito.
Se invece usi un pulsante puoi fare che quando legge lo stato del pulsante accende o spegne LED e Luci, altrimenti se vuoi che sia a tempo usi la funzione mills che non blocca il codice e ti permette di fare logica sul tempo trascorso(ES accendere un led per 4 secondi).

  1. immagino che non si parli di multithreading...

Se intendi il multitasking,no non esiste però fare un giro di loop di solito impiega molto meno di un secondo quindi esegui velocemente molte operazioni al secondo.

  1. le eventuali funzioni richiamate alla pressione del relativo pulsante, chiamate in successione, lavorano indipendentemente oppure ogni volta Arduino aspetta la fine di un "processo", prima di iniziare il successivo?

Arduino aspetta la fine del processo,ma non vedo quale processo possa essere cosi lungo da bloccare il codice di arduino.
Se hai altre domande chiedi pure,spero nel mio piccolo di essere stato abbastanza esaustivo,comunque riceverai sicuramente altre risposte forse anche più chiare :wink:

Grazie, provvederò a presentarmi!

Credo che la parola chiave sia proprio millis! Parlavo di multithreading perchè in VB.NET sto cercando di imparare e risolvere alcune cose proprio con delegate ecc., da cui il dubbio amletico su Arduino.

Quindi, volendo per esempio stare sulla domotica, se alcuni carichi sono "a tempo", essi dovrebbero essere gestiti ognuno da una variabile "timer" valorizzata con la durata scelta e controllata ad ogni loop del micro.

Ok, ora studio meglio, grazie!