crono¶
- class crono.CronoMostra(tauler, identif)¶
Bases:
ThreadInicia un fil de control que farà de cronòmetre a partir del valor del comptador en minuts corresponent a la clau identif del diccionari tauler.
Per cada minut que passi, el fil descompta del comptador un minut, actualitza el comptador i mostra pel canal estàndard de sortida el nou valor amb la resta de valors guardats en el tauler. Quant el comptador és zero, s’acaba el fil.
Mentre el fil és viu, es pot reiniciar el comptador via el mètode
crono.fixa(), tornant el fil iniciant un nou cicle de marxa enrera dels minuts. Com que un altre procés pot reiniciar el comptador, cal protegir amb una secció crítica l’actualització del comptador de identif, i evitar situacions competitives.- __init__(tauler, identif)¶
Inicialitzador de la classe
CronoMostra:- Parameters:
tauler – Objecte de la classe
TaulerBuson hi ha les dades dels autobusos que circulen i els seus temps d’espera per arribar a la parada que executa la instanciació.identif – Identificador combinat d’autobús i línia en el tauler a mostrar cada minut passat.
- Returns:
Una instància de la classe
parada.CronoMostra
- atura()¶
- fixa(valor)¶
- pany = <unlocked _thread.lock object>¶
- run()¶
Method representing the thread’s activity.
You may override this method in a subclass. The standard run() method invokes the callable object passed to the object’s constructor as the target argument, if any, with sequential and keyword arguments taken from the args and kwargs arguments, respectively.
- class crono.CronometresMostra(tauler)¶
Bases:
objectA partir de les actualitzacions d’un diccionari tauler (
dict) de temps en minuts, es gestiona un diccionari rellotges de fils actius que cronometren i mostren periòdicament els nous temps descomptats.Cada entrada de tauler té el seu pròpi cronòmetre en rellotges.
Els temps que siguin o esdevingui zero s’esborren del diccionari rellotges.
Per cada actualització (
CronometresMostra.fixa()) de l’entrada de clau ident pel valor temps cal comprovar si té un fil actiu (El fil ésThread.is_alive()) en rellotges. Si és el cas, es reinicialitza (CronoMostra.fixa()) el valor corresponent al tauler, i engegaCronoMostra.start(). En el cas que no hagi fil, es crea un nou filCronoMostra. Quan el valor de l’entrada d”ident de tauler és zero, s’elimina l’entrada corresponent de rellotges i tauler.- __init__(tauler)¶
- fixa(ident, temps)¶