[Php-it] [JS] simulare lo sleep.

Cristiano Verondini cverondini at deis.unibo.it
Thu Dec 28 15:13:36 CET 2006


>>> Ma non centra procedurale o asincrono è pura logica di
>>> funzionamento. Se non ho una funzione bloccante, ma che richiama
>>> solamente una funzione-terza dopo un tot di tempo, allora la prima
>>> istruzione dopo la funzione-non-bloccante deve essere un qualche
>>> cosa che mi fermi l'esecuzione dello script.
>>
>>    Se ferma l'esecuzione dello script, non avendo i thread a
>> disposizione, chi cambierà il valore della tua globale?
>
> La funzione che viene richiamata da setTimeout. E' li apposta.

    Credo che rinuncerò.

    Se hai *un* flusso di esecuzione, e quel flusso è inchiodato in un 
while, come fa la setTimeout() a scattare?

>>> Tralasciando che il mio era solo una prova se questo non è il modo
>>> me ne dici uno tu. Ma che sia funzionante. Non solo a parole.
>>
>>    Mi sembra di avertelo suggerito. *DUE* funzioni. E quella che fa
>> il setitimeout() *termina* dopo averlo fatto.
>
> Non funziona! Tutto quello che viene dopo setTimeout viene eseguito.

    Certo, in una mail di ieri ti avevo scritto che quello che vuoi fare non 
puoi ottenerlo bloccando una funzione. In pratica, se quello che vuoi è 
emulare una ipotetica sleep():

        ... istruzioni ...
        sleep(19);
        ... istruzioni ...

    La mia risposta è stata che *non* è possibile, a meno, appunto, di non 
usare un loop stretto, ma così facendo *blocchi* **qualsiasi** altra cosa. 
Il che mi fa venire in mente che probabilmente non è *questo* il problema 
che devi risolvere, ma in qualche modo devi cambiare l'approccio.

        Cris

-- 
Cristiano Verondini
http://www.verondini.it  ---   [ICQ: 114 190] 



More information about the Php-it mailing list