|
Page : 1 2 Page Précédente | |
Auteur | Sujet : Programmation Threads en C++ |
Publicité | Posté le 08-11-2008 à 09:26:00 |
Joel F Real men use unique_ptr | boost::thread et boost::asio répondront à la plupart de tes problèmes. |
burn2 ça rox du poney |
Message édité par burn2 le 08-11-2008 à 10:01:43 --------------- "C'est vrai qu'un type aussi pénible de jour on serait en droit d'espérer qu'il fasse un break de nuit mais bon …" |
Joel F Real men use unique_ptr | developpez.com la vrai doc de bosot est quand même plus avantageuse.
|
burn2 ça rox du poney |
Message édité par burn2 le 08-11-2008 à 10:21:49 --------------- "C'est vrai qu'un type aussi pénible de jour on serait en droit d'espérer qu'il fasse un break de nuit mais bon …" |
Joel F Real men use unique_ptr | un thread et un thread , c'est pas un processus, c'ets fondamentalement différent.
|
burn2 ça rox du poney | Oué donc concrètement, faudrait plus que je me penche vers les process pour exécuter la commande. Mais bon là ça va être dépendant de la plateforme.
Message édité par burn2 le 08-11-2008 à 10:22:16 --------------- "C'est vrai qu'un type aussi pénible de jour on serait en droit d'espérer qu'il fasse un break de nuit mais bon …" |
burn2 ça rox du poney | En tout cas je te remercie de ton aide déjà pour les réponses.
Message édité par burn2 le 08-11-2008 à 10:32:04 --------------- "C'est vrai qu'un type aussi pénible de jour on serait en droit d'espérer qu'il fasse un break de nuit mais bon …" |
Joel F Real men use unique_ptr | sous windows c'ets CreateProcess |
burn2 ça rox du poney | ça me semble uun peu bourin de recréer un process si exec suffit non? (enfin la la question est : "est ce que j'ai bien compris comment marche exec?" )
--------------- "C'est vrai qu'un type aussi pénible de jour on serait en droit d'espérer qu'il fasse un break de nuit mais bon …" |
Publicité | Posté le 08-11-2008 à 10:36:13 |
Joel F Real men use unique_ptr | Mais que crois tu que fasse exec ???
|
burn2 ça rox du poney | Bah oui donc du coup, c'est bon c'est exactement ce qu'il faut non?
Message édité par burn2 le 08-11-2008 à 11:02:47 --------------- "C'est vrai qu'un type aussi pénible de jour on serait en droit d'espérer qu'il fasse un break de nuit mais bon …" |
burn2 ça rox du poney | Bon j'ai quand même un ptit pb avec pthread.
Message édité par burn2 le 08-11-2008 à 13:34:54 --------------- "C'est vrai qu'un type aussi pénible de jour on serait en droit d'espérer qu'il fasse un break de nuit mais bon …" |
Joel F Real men use unique_ptr | pthread_t c 'est juste une structure, on est aps en JAVA. Revoie tes bases de systeme. Et si c'ets pr reinventer la roue : boost::thread et boost::asio Message édité par Joel F le 08-11-2008 à 13:39:22 |
burn2 ça rox du poney | J'ai pas besoin de processus pour ce que je veux faire, je suis pas au niveau de lancer l'application, j'ai d'autres traitements avant. Dans mon thread je ferais un exec, ça sera parfait et j'aurais quand même moyen de le détruire, sinon oui j'ai vu pour le tuer, mais c'est mon edi qui fumait et me sortait des méthodes membres du coup....
Message édité par burn2 le 08-11-2008 à 13:53:08 --------------- "C'est vrai qu'un type aussi pénible de jour on serait en droit d'espérer qu'il fasse un break de nuit mais bon …" |
Joel F Real men use unique_ptr | c'ets bien ce que je dis t'as pas compris les bases
|
burn2 ça rox du poney | Pour moi exec, fait l'équivalent de system("..." ) mais en étant en séquence, ça remplace le code du thread durant l'éxécution de la commande prévue, un process si tu veux, mais ça c'est pas vraiment le principal, ce que je veux c'est que ça s'enchaine en séquence dans mon thread, chose qui ne se passe pas avec la commande system, et que si cette commande est longue, que la suite de mon thread ne s'enchaine pas et si j'ai bien compris, c'est bien ce qui se passe avec exec.
Message édité par burn2 le 08-11-2008 à 14:06:28 --------------- "C'est vrai qu'un type aussi pénible de jour on serait en droit d'espérer qu'il fasse un break de nuit mais bon …" |
burn2 ça rox du poney | Mais bon pour trouver des exemples sur boost ça a l'air assez chiant quoi. Ils montrent juste rapidement comment créer un thread et une valeur partagée entre les thread, mais pas un thread avec paramètre.
Message édité par burn2 le 08-11-2008 à 14:31:44 --------------- "C'est vrai qu'un type aussi pénible de jour on serait en droit d'espérer qu'il fasse un break de nuit mais bon …" |
Joel F Real men use unique_ptr | sauf que la version static est atroce.
|
burn2 ça rox du poney | Oui j'ai regardé mais dans les exemples, y a pas d'exemple avec un paramêtres, c'est toujours une variable partagée entre les thread et c'est pas ce que je veux. Message édité par burn2 le 08-11-2008 à 14:37:15 --------------- "C'est vrai qu'un type aussi pénible de jour on serait en droit d'espérer qu'il fasse un break de nuit mais bon …" |
Joel F Real men use unique_ptr | bah si ... tu file un constructeur décent à ton foncteur de thread ... ou tu utilises boost:bind ... |
burn2 ça rox du poney | Heu oué mais c'est le gros bordel là, y a pas de doc super claire quoi . Message édité par burn2 le 08-11-2008 à 14:49:36 --------------- "C'est vrai qu'un type aussi pénible de jour on serait en droit d'espérer qu'il fasse un break de nuit mais bon …" |
burn2 ça rox du poney | Je crois avoir compris avec bind.
Message édité par burn2 le 08-11-2008 à 15:04:44 --------------- "C'est vrai qu'un type aussi pénible de jour on serait en droit d'espérer qu'il fasse un break de nuit mais bon …" |
Joel F Real men use unique_ptr | C'ets pas fouilli c'ets exhaustif ... et genre boost c'est pas portable
|
burn2 ça rox du poney | Oué enfin je veux dire, y a pas de vrais doc bien claire et tu fais appel à autre chose quand tu peux pas sans savoir à l'avance que tu peux pas etc. Message édité par burn2 le 08-11-2008 à 15:35:40 --------------- "C'est vrai qu'un type aussi pénible de jour on serait en droit d'espérer qu'il fasse un break de nuit mais bon …" |
burn2 ça rox du poney | Je comprends pas, dans le compilateur, je mets, répertoire bibliothèque lib\boost
Message édité par burn2 le 08-11-2008 à 16:22:16 --------------- "C'est vrai qu'un type aussi pénible de jour on serait en droit d'espérer qu'il fasse un break de nuit mais bon …" |
Joel F Real men use unique_ptr | RTFM quand même, Y a un gros Getting Started qui explique comment compiler la lib. Et bon, les lib source à compilait c'ets le b-a ba du dev logiciel. Message édité par Joel F le 08-11-2008 à 16:54:48 |
burn2 ça rox du poney | Heu oué enfin si c'est pour se prendre la tête autant sous linux tout est bien fait autant pour windows voilà quoi. Pour moi si j'ai un répertoire lib, c'est que la lib y est et pas une foule d'exemple etc. Bref. Vu l'état et vu la prise de tête et comment ça commence sérieusement à m'énerver, je vais faire une pause et je pense vraiment pas utiliser cet "api" qui est trés mal documentée.
Message édité par burn2 le 08-11-2008 à 17:12:52 --------------- "C'est vrai qu'un type aussi pénible de jour on serait en droit d'espérer qu'il fasse un break de nuit mais bon …" |
burn2 ça rox du poney | Je vais basculer sur du QT console avec un vrais EDI au moins ça va pas me prendre la tête et le QT je connais déjà un peu vu que je fais tous mes dev sous linux en QT. Et pas besoin de compiler quelque chose sans doc claire... Et y a les Qprocess etc... + un edi clair et précis. Bref J'avais hésité à basculer sur ça pour un programme assez simple dans l'ensemble mais bon là au moins j'aurais tout sous la main... Message édité par burn2 le 08-11-2008 à 17:45:40 --------------- "C'est vrai qu'un type aussi pénible de jour on serait en droit d'espérer qu'il fasse un break de nuit mais bon …" |
Tetedeiench Head Of God | Bon, déjà, boost ou pthreads, ici, OSEF, le blem est pas avec les threads, mais avec les process.
--------------- L'ingénieur chipset nortiaux : Une iFricandelle svp ! "Spa du pâté, hin!" ©®Janfynette | "La plus grosse collec vivante de bans abusifs sur pattes" | OCCT v12 OUT ! |
Tetedeiench Head Of God | D'aillurs, après, le reste de la question se résume à "trouver une fonction CreateProcess qui soit portable". D'après ce que j'ai compris, tu n'as besoin que d'nu truc compatible XP et Vista, donc API Windows, donc CreateProcess suffit. Si tu veux du linux aussi, là, par contre, je sais pas trop --------------- L'ingénieur chipset nortiaux : Une iFricandelle svp ! "Spa du pâté, hin!" ©®Janfynette | "La plus grosse collec vivante de bans abusifs sur pattes" | OCCT v12 OUT ! |
burn2 ça rox du poney | Oui sur l'analyse j'ai la solution. Si tu veux, j'avais crée une classe application et dans cette classe je met deux threads, un thread avec l'application exécutée recouverte avec un exec, et un timer qui me permet de savoir depuis quand tourne cette application. Dans mon application principale j'aurais un thread qui est chargé de vérifier tous les X heures la durée de chaque Application et si besoin est de lancer le killage de l'application via une méthode membre de ma classe application. Si tu veux je me crée une classe ou je mets toutes les informations nécessaires (time, numéro de requète, commande à exécuter, si le thread est libre ou pas). Je posterais ma classe.h dès que j'ai le temps. Là faut que je file. Mais j'ai tout pensé et protégé par des mutex et sémaphore au niveaux des variables que j'accède partagées. En gros un thread mais plus poussé avec d'autres informations qui me sont nécessaires pour le programme et au final c'est peut-être con ce que je fais car peut-être que je tends vers un process. (par exemple si je fais un get de la durée, je protège par un sémaphore pour pas que mon timer interne au programme soit en train de mettre à jour etc).
Message édité par burn2 le 08-11-2008 à 18:05:55 --------------- "C'est vrai qu'un type aussi pénible de jour on serait en droit d'espérer qu'il fasse un break de nuit mais bon …" |
burn2 ça rox du poney |
Mais je t'expliquerais tout ça demain, pour que tu me dises si c'est bien réfléchie comme il faut. Là je bacle toutes les infos car je dois filer du coup ça doit pas être clair. Si ça se trouve, je réinvente la roue, et avec qt en utilisant un Qprocess j'aurais pas à faire certaines choses faut que j'analyse bien toute la situation. Message cité 1 fois Message édité par burn2 le 08-11-2008 à 18:02:58 --------------- "C'est vrai qu'un type aussi pénible de jour on serait en droit d'espérer qu'il fasse un break de nuit mais bon …" |
Joel F Real men use unique_ptr |
|
burn2 ça rox du poney |
--------------- "C'est vrai qu'un type aussi pénible de jour on serait en droit d'espérer qu'il fasse un break de nuit mais bon …" |
burn2 ça rox du poney | Bon je reprends le texte de Tetedeiench car c'est quasiment ce que j'avais en vu:
Message édité par burn2 le 09-11-2008 à 11:48:08 --------------- "C'est vrai qu'un type aussi pénible de jour on serait en droit d'espérer qu'il fasse un break de nuit mais bon …" |
Tetedeiench Head Of God | Ben je pense que tu tombes dans le travers du "tout thread". Faut pas oublier que certaines choses peuvent être mutualisées.
--------------- L'ingénieur chipset nortiaux : Une iFricandelle svp ! "Spa du pâté, hin!" ©®Janfynette | "La plus grosse collec vivante de bans abusifs sur pattes" | OCCT v12 OUT ! |
burn2 ça rox du poney | Oui c'est ce que j'ai mis, la création de la liste des fichiers à parcourrir et le parcours de ce fichier peut être dans la même boucle. La y a pas besoin de rajouter un thread, c'était ma remarque en me relisant. Message édité par burn2 le 09-11-2008 à 12:48:36 --------------- "C'est vrai qu'un type aussi pénible de jour on serait en droit d'espérer qu'il fasse un break de nuit mais bon …" |
burn2 ça rox du poney | Punaise, c'est pas vrais j'ai pas de chance, à croire que tous les EDI sous windows sont buggés. je prends QT creator et il marche pas.
--------------- "C'est vrai qu'un type aussi pénible de jour on serait en droit d'espérer qu'il fasse un break de nuit mais bon …" |
Joel F Real men use unique_ptr | Code::Blocks marche très bien sous windows hein |
Publicité | Posté le |
Page : 1 2 Page Précédente |
Sujets relatifs | |
---|---|
utiliser une dll compilée en C# dans un projet VisualC++ | Exercices programmation C++ |
VBA - C++ - DLL | Récupération de temps de réponse (PING) en C |
[DRUPAL] C'est içi? | probleme de programmation en C |
programmation ds Alice avec le language Xml ou SML niveau debutant | [C#] simuler un click souris [résolu] |
Plus de sujets relatifs à : Programmation Threads en C++ |