mousekey
-
29 mars 2005 à 00:11
papillon2000
Messages postés106Date d'inscriptionsamedi 13 décembre 2008StatutMembreDernière intervention12 janvier 2010
-
4 févr. 2009 à 22:22
Bonjour,
j'ai un programme en java... c'est un programme qui fait diminuer un temps pour chaque processus... le temps de chaque processus est contenu dans un vecteur...
tout vas bien quand je démarre un seul.. mais quand je démarre le second... quand le second est détruit... il est toujours la... j'ai la bonne méthode vecteur.removeElementAt(int_index); mais on dirait qu'elle ne veut pas fonctionner...
System.out.println("avant d'entrer dans la fonction if vecteur size()");
System.out.println("vecteur size = " +vecteur.size());
if ( vecteur.size() > 2 )
{
System.out.println("avant d'entrer dans la boucle while ( int_nombre_element_vecteur < int_nombre_processus && trouve == false)");
while ( int_nombre_element_vecteur < int_nombre_processus && trouve == false)
{
System.out.println("avant de vérifier les élément");
System.out.print("Integer.parseInt( ( String )vecteur.get(int_nombre_element_vecteur) )");
System.out.println("vecteur.get(int_nombre_element_vecteur) = "+ vecteur.get(int_nombre_element_vecteur));
System.out.println(Integer.parseInt( ( String )vecteur.get(int_nombre_element_vecteur) ));
try
{
if ( Integer.parseInt( ( String )vecteur.get(int_nombre_element_vecteur) ) < int_valeur_temps_depart )
int_nombre_element_vecteur+=3;
else trouve = true ;
}
catch(Exception e)
{
System.out.println("Erreur du if pour comparer les objets." + e);
System.exit(1);
}
/**
* <p>Titre : </p>
*
* <p>Description : </p>
*
* <p>Copyright : Copyright (c) 2005</p>
*
* <p>Société : </p>
*
* @author non attribuable
* @version 1.0
*/
public class ProgrammePrincipal {
final static String ENTETE_PAGE_0 = "_________________________________";
final static String ENTETE_PAGE_1 = "Instant t | UC | filepret(t,q) ";
final static String ENTETE_PAGE_2 = "__________|______|_______________";
final static String PIED_PAGE_0 = "__________|______|_______________";
final static String SAUT_LIGNE = "\n";
final static String ESPACE = " ";
final static String BARRE_VERTICAL = "|";
public ProgrammePrincipal() {
}
private void EcrireFichier(String string_chaine, int int_numero_processus_action,
Vector vecteur,String string_numero_ligne,
FileWriter out, int int_numero_thread_actif)
{
//ouvrir le fichier avec microsoft word
String ligne ;
boolean ATTEINT_FIN = false;
ligne = string_numero_ligne ;
for ( int i = 0 ; i < ( 11 - string_numero_ligne.length() ) ; i++)
ligne = ligne + ESPACE;
ligne = ligne + BARRE_VERTICAL ;
ligne = ligne + ESPACE ;
ligne = ligne + vecteur.get(int_numero_thread_actif) ;
ligne = ligne + ESPACE + ESPACE ;
ligne = ligne + BARRE_VERTICAL ;
for (int i = int_numero_thread_actif + 1 ;
i < int_numero_thread_actif ||
ATTEINT_FIN == true ;
i++ )
{
if ( int_numero_thread_actif == vecteur.size() )
{
int_numero_thread_actif = 0 ;
continue ;
}
ligne = ligne + "p-" + Integer.parseInt( ( String )vecteur.get(i) );
}
try
{
out.write(ligne + "\n" );
}
catch(Exception e)
{
System.out.println(e);
System.exit(1);
}
}
public void LireFichier()
{
try
{
BufferedReader in = new BufferedReader(new FileReader("farrago.txt"));
String d;
while ( ( d = in.readLine() ) != null )
{
System.out.println(d);
}
}
catch(Exception e)
{
System.out.println("Erreur lors de la lecture");
}
}
public static void main(String args[])
{
try
{
Tourniquet tourniquet = new Tourniquet(1,50);
Horloge horloge = new Horloge(1000);
Processus zero = new Processus(horloge,tourniquet,"p-0" );
Processus premier = new Processus(horloge,tourniquet,"p-1");
//Processus second = new Processus(horloge,tourniquet,"p-2");
// Processus troisieme = new Processus(horloge,tourniquet,"p-3");
/* File outputFile = new File("farrago.txt");
FileWriter out = new FileWriter(outputFile);
System.out.println(ENTETE_PAGE_0 + SAUT_LIGNE);
out.write(ENTETE_PAGE_0 + SAUT_LIGNE);
System.out.println(ENTETE_PAGE_1 + SAUT_LIGNE);
out.write(ENTETE_PAGE_1 + SAUT_LIGNE);
System.out.println(ENTETE_PAGE_2 + SAUT_LIGNE);
out.write(ENTETE_PAGE_2 + SAUT_LIGNE);
papillon2000
Messages postés106Date d'inscriptionsamedi 13 décembre 2008StatutMembreDernière intervention12 janvier 201015 4 févr. 2009 à 22:22
bonsoir, je veux simuler le comporetement d'un ensemble de taches dont leurs temps d'exécution est generé par random. l'exécution de la tache2 dois etre déclacher par l'horloge lors de la fin de l'exécution de la tache1. je ne sais pas comment faire pour attendre l'horloge jusqu'au temps de fin de tache1 pour déclancher la tache2. quelle type d'horloge la plus approrié dans ce cas.
29 mars 2005 à 16:03
pouvez-vous être plus clair???
merci
mousekey