IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

CORBA Discussion :

Exécution indivisible (accès conccurent)


Sujet :

CORBA

  1. #1
    Candidat au Club
    Inscrit en
    Juillet 2002
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Juillet 2002
    Messages : 5
    Points : 4
    Points
    4
    Par défaut Exécution indivisible (accès conccurent)
    Bonjour à tous,

    Jai un fichier personne (nom, prenom,age) que je veux le transférer vers le poste client.

    Pour cela jai utilisé lIDL suivant:

    module opsequence
    {

    struct personne
    {
    char nom[15];
    char prenom [15];
    double age;
    };

    typedef sequence<personne> listePersonne;

    inteface test
    {
    listePersonne ramener( );
    };
    };

    j ai implémenté la fect ramener( ) de la façon suivante

    listePersonne ramener()
    {

    listePersonne Per;

    Tanque not <nom du fichier>.eof() faire

    Per.nom =<nom du fichier>.nom;

    Per.prenom=<nom du fichier>.prenom;

    Per.age =<nom du fichier>.age;

    <aller à l'enregistrement suivant>

    Fin tanque

    return per;

    }


    sachant que coté client j utilise un message synchrone pour ramener ce fichier, c à d:

    listePersonne(client)=(serveur)-> ramener( );

    Est-ce que (coté serveur)cette fect s exécute en action atomique (d une façon indivisible)?

    Merci davance.

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 16
    Points : 19
    Points
    19
    Par défaut
    Il n y a pas de notion d execution atomique en CORBA
    Ce que tu peux definir c est le nombre de requete concurrente exécuté sur le serveur simultanéement.
    Si ORB en mode monothread 1 a la fois.
    Ensuite quasiment tous les ORBs proposent les 3 modes suivants:
    mode ThreadPool (taille=n) n requete concurrente (n'importe qu elle fonction de n importe quel objet peut etre appelé dans un des thread du pool).
    Thread Per Object : 1 thread par objet
    Thread per Method: 1 thread par méthode

    Si ta question est: "est ce que je peux rendre mon serveur monothread" et donc ne pas avoir a protéger mes données la réponse est oui.
    Cette solution est peu efficace, car tu restes bloqué pendant les E/S sur fichier et CORBA, sans pouvoir mettre se temps a profit pour traiter d'autres requêtes.

    En esperant avoir repondu a ta question

  3. #3
    Candidat au Club
    Inscrit en
    Juillet 2002
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Juillet 2002
    Messages : 5
    Points : 4
    Points
    4
    Par défaut
    Salut,

    ce que je voulais dire:

    J ai un objet serveur sollicité par N clients en mme temps.

    Est-ce que son exécution pour un client x ne sera pas interrompue pour le compte d un autre client y ?

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 16
    Points : 19
    Points
    19
    Par défaut
    Tout dépend du mode de multithreading de ton ORB:
    Si mono thread non
    Si multithread, tu peux garantir que toutes les methodes d une meme instance sont executées dans un même thread (thread per object).
    (donc il n y a pas d interruption, si tous les clients attaquent le meme objet)

    Tu peux garantir que la meme methode pour toutes les instances d'un objets sont executées dans le meme thread.
    (pas d interruption si tous les clients appellent la meme methode sur les differentes instances).

    Thread Pool oui il y aura des interruptions entre les differents thread

Discussions similaires

  1. Réponses: 2
    Dernier message: 21/07/2008, 07h49
  2. PB Accès conccurents
    Par ydelanoe dans le forum SQL
    Réponses: 8
    Dernier message: 23/10/2007, 15h43
  3. Réponses: 3
    Dernier message: 24/11/2006, 09h40
  4. acces conccurent
    Par u_ceff dans le forum Oracle
    Réponses: 3
    Dernier message: 24/02/2006, 13h31
  5. Accès non autorisé à l'exécution d'une procédure stockée
    Par celine33 dans le forum Bases de données
    Réponses: 6
    Dernier message: 11/01/2006, 10h27

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo