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

Windows Discussion :

changement de priorité d'un thread


Sujet :

Windows

  1. #1
    Membre habitué
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    340
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 340
    Points : 177
    Points
    177
    Par défaut changement de priorité d'un thread
    J'aimerais changer la priorité d'un thread. Pour cela, il faut qu'il ait l'accès THREAD_SET_INFORMATION.

    J'ai juste le HANDLE du thread. Comment je fais pour lui donner cet accès ?

    Ce que j'aimerais, c'est un code. Car j'ai regardé la doc de MSDN et google. Rien, pas d'exemple. Ils disent juste d'appeler des fonctions sans plus de précision.

    Merci

  2. #2
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 379
    Points : 41 573
    Points
    41 573
    Par défaut
    Tu l'obtiens comment, le handle en question?

    Enfin, si le handle que tu as n'a pas les droits, tu peux toujours essayer:
    • GetThreadId() pour obtenir son ID
    • OpenThread() pour demander le droit qu'il te manque.

  3. #3
    Membre habitué
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    340
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 340
    Points : 177
    Points
    177
    Par défaut
    Avec GetCurrentThread(). Mais je viens de voir GetCurrentThreadId(), donc ce que je veux faire devient:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
       HANDLE thread;
    
       thread = OpenThread(THREAD_SET_INFORMATION,
    		       FALSE,
    		       GetCurrentThreadId());
       if (!thread)
         {
           EINA_LOG_ERR("Can not open current thread");
           return;
         }
    
       if (!SetThreadPriority(thread, THREAD_PRIORITY_BELOW_NORMAL))
         EINA_LOG_ERR("Can not set thread priority");
    
       CloseHandle(thread);
    Merci

  4. #4
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 379
    Points : 41 573
    Points
    41 573
    Par défaut
    Normalement tu n'as pas besoin de faire ça: Le pseudohandle retourné par GetCurrentThread() a les droits THREAD_ALL_ACCESS sur le thread.

  5. #5
    Membre habitué
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    340
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 340
    Points : 177
    Points
    177
    Par défaut
    En effet. Donc

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
       if (!SetThreadPriority(GetCurrentThread(), THREAD_PRIORITY_BELOW_NORMAL))
         EINA_LOG_ERR("Can not set thread priority");
    est suffisant (ca retourne toujours un pseudo handle valide et pas besoin de le fermer).

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Pb Changement de vue avec Animation + thread
    Par Hyst_76 dans le forum Android
    Réponses: 4
    Dernier message: 21/02/2014, 10h51
  2. priorité sur des threads
    Par kiby56 dans le forum Général Python
    Réponses: 1
    Dernier message: 24/02/2013, 16h37
  3. Priorité dans les threads
    Par ToTo13 dans le forum Android
    Réponses: 1
    Dernier message: 20/05/2011, 15h29
  4. Réponses: 2
    Dernier message: 11/07/2006, 10h34
  5. [Thread] Priorités face à un bloc synchronisé
    Par Satch dans le forum Concurrence et multi-thread
    Réponses: 10
    Dernier message: 19/01/2006, 10h31

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