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

Threads & Processus C++ Discussion :

création d'un threads sous windows


Sujet :

Threads & Processus C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Mai 2009
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 16
    Par défaut création d'un threads sous windows
    bonsoir à tous,
    j'utilise c++ builder et j'ai besoin d'un coup de main, je souhaite créer un thread sous Windows qui m'exécute la fonction suivante toute les 10 sec:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    void verif()
    {
    String cmd = "ping " + serveur->Text;
    String ver = system(cmd.c_str());
     
     
    if (ver == 0 ) {form5();}
     
       else{nomc->Text = "fuck ";	}
    };
    Le problème est que je ne comprend pas grand chose au thread. merci

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    110
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2009
    Messages : 110
    Par défaut
    Salut, Pour créer et lancer un thread sous Windows il existe plusieurs fonctions, je te conseille de jeter un coup d'œil ici ou ici. Moi je préfère _beginthread().

    Pour exécuter cette fonction tous les 10 sec, tu peux utiliser une boucle infinie avec un sleep() ou un wait().

    J'espère que je t'ai aidé.
    Bon courage.

  3. #3
    Rédacteur/Modérateur
    Avatar de JolyLoic
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    5 463
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Yvelines (Île de France)

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

    Informations forums :
    Inscription : Août 2004
    Messages : 5 463
    Par défaut
    Et il existe des bibliothèques qui encapsulent ça de manière portable et plus simple à utiliser, comme par exemple boost::thread.
    Ma session aux Microsoft TechDays 2013 : Développer en natif avec C++11.
    Celle des Microsoft TechDays 2014 : Bonnes pratiques pour apprivoiser le C++11 avec Visual C++
    Et celle des Microsoft TechDays 2015 : Visual C++ 2015 : voyage à la découverte d'un nouveau monde
    Je donne des formations au C++ en entreprise, n'hésitez pas à me contacter.

  4. #4
    Rédacteur

    Avatar de ram-0000
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Mai 2007
    Messages
    11 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2007
    Messages : 11 517
    Par défaut
    Citation Envoyé par mehdi_me85 Voir le message
    Moi je préfère _beginthread().
    MSDN recommande quand même de préférer _beginthreadex() à _beginthread().
    Raymond
    Vous souhaitez participer à la rubrique Réseaux ? Contactez-moi

    Cafuro Cafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
    e-verbe Un logiciel de conjugaison des verbes de la langue française.

    Ma page personnelle sur DVP
    .

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    110
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2009
    Messages : 110
    Par défaut
    Salut,
    Je voulais dire que je préfére _beginthread() par rapport à CreatThread().

    Pour
    MSDN recommande quand même de préférer _beginthreadex() à _beginthread().
    Je penses que le seul vrai avantage, ce qui est quand même fort, c'est qu'avec _beginthreadex() tu peux créer des threads et les suspendre, mais pour un débutant, à mon avis, _beginthread est plus simple.

    _beginthreadex has three additional parameters: initflag, security, and threadaddr. The new thread can be created in a suspended state, with a specified security (Windows NT only), and can be accessed using thrdaddr, which is the thread identifier.

  6. #6
    Membre chevronné

    Inscrit en
    Août 2007
    Messages
    300
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 300
    Par défaut
    boost::thread n'est pas utilisable sous C++ Builder, qui par contre propose un objet d'une très grande simplicité: TThread. Il suffit de copier votre code dans la redéfinition de la fonction membre Execute d'une classe dérivée de TThread, et de créer une instance.
    Il y a aussi encore plus simple: utilisez l'évenement d'un Timer réglé à 10s.

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

Discussions similaires

  1. Création de thread sous Windows
    Par saad.hessane dans le forum Threads & Processus
    Réponses: 10
    Dernier message: 01/02/2012, 14h54
  2. [Parallèle] Création d'un thread, sous windows.
    Par z980x dans le forum Threads & Processus
    Réponses: 1
    Dernier message: 11/11/2008, 12h44
  3. Réponses: 2
    Dernier message: 23/11/2007, 10h52
  4. thread sous windows
    Par hedi07 dans le forum Windows
    Réponses: 12
    Dernier message: 25/04/2007, 19h21
  5. Threads sous Windows
    Par Geoff-sk8 dans le forum Windows
    Réponses: 2
    Dernier message: 23/10/2006, 10h23

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