UpsPls.Travail

Définition

/***************************************************************/
Type Travail Defaut Final TailleSegment 8 ConserverObjets
/* Objet : Type des objets correspondant aux travaux en attente.*/
/***************************************************************/
/*-------------------------------------------------------------*/
/* Heritage des proprietes d'Objet. */
/*-------------------------------------------------------------*/
Prive : /*-------------------------------------------------------------*/
/* Proprietes propres. */
/*-------------------------------------------------------------*/
Prive : /*-------------------------------------------------------------*/
/* Heritage des methodes d'Objet. */
/*-------------------------------------------------------------*/
Public : Prive : /*-------------------------------------------------------------*/
/* Methodes propres. */
/*-------------------------------------------------------------*/
Public : Prive : Fin Type

Le type Travail ne possède pas de constructeur implicite ni de constructeur explicite.

Les objets de type Travail sont créés automatiquement lors de la mise en file d'attente au moyen de l'opérateur ||.

Opérateurs

Le type Travail possède les opérateurs standards suivant :

Exemple

Pour un exemple complet, merci de se référer à Files d'attentes et travaux.

Variable
/******/


FileDAttente
/**********/

/****************************************************************/
Procedure P(A : Entier Entree Sortie)
/* Objet : Procedure quelconque. */
/****************************************************************/
Debut
Ecran.Ecrire("P="+Caractere(A));
Fin Procedure

Principal
/*******/
Debut
E=10;
MonTravail=P(E)||MaFile;
/* Mise en file de l'appel de 'P' dans la file 'MaFile'. Le travail est 'MonTravail'. */
MonTravail.PlanifierAuPlusTard(DateSysteme()+10);
/* Le travail est à déclencher dans au plus 10 secondes. */
Ecran.Ecrire(MaFile.NbTachesServeur);
Ecran.Ecrire(MaFile.NbTravauxEnAttente());
TantQue (MonTravail.Etat!=TravailTermine) Et (MonTravail.Etat!=TravailEnErreur) Faire
/* Nous attendons que le travail soit accompli. */ Fin TantQue
Si MonTravail.Etat==TravailEnErreur Alors
/* Il y a eu une erreur. */ Sinon
/* Lit la valeur de sortie correspondant au premier paramètre. */ Fin Si
Fin Principal

Traduction

---------