GNT sans publicité, site mobile, fonctionnalitées exclusives...

Multithreading

Le
ALB
Bonjour à tous,

je n'ai jamais fait de multithreading et je cherche une référence
(anglais ou français) pour apprendre, qui remplirait notamment les
critères suivants :
- indique les design patterns qui passent bien (et ceux à éviter), les
bonnes pratiques,
- non spécifique à une plateforme.

Adrien
Lire les 21 réponses

Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 5
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
jalina
Le #314027
Bonjour à tous,

je n'ai jamais fait de multithreading et je cherche une référence
(anglais ou français) pour apprendre, qui remplirait notamment les
critères suivants :
- indique les design patterns qui passent bien (et ceux à éviter), les
bonnes pratiques...,
- non spécifique à une plateforme.

Adrien


http://www.google.fr/search?q=multithreading

Fabien LE LEZ
Le #314026
On Thu, 17 Jan 2008 06:27:24 -0800 (PST), ALB
je n'ai jamais fait de multithreading et je cherche une référence
(anglais ou français) pour apprendre, qui remplirait notamment les
critères suivants :


"Programming with POSIX threads", David R. Butenhof.
http://www.amazon.fr/P/dp/0201633922/

Il parle des threads POSIX en langage C, mais les principes de
fonctionnement sont les mêmes sous Windows et en C++.

Cf aussi Boost.

James Kanze
Le #313990
On Jan 18, 1:55 am, Fabien LE LEZ
On Thu, 17 Jan 2008 06:27:24 -0800 (PST), ALB
je n'ai jamais fait de multithreading et je cherche une référence
(anglais ou français) pour apprendre, qui remplirait notamment les
critères suivants :


"Programming with POSIX threads", David R. Butenhof.http://www.amazon.fr/P /dp/0201633922/

Il parle des threads POSIX en langage C, mais les principes de
fonctionnement sont les mêmes sous Windows et en C++.


Oui et non. En effet, c'est un livre excellent pour les threads,
et comme tu dis, beaucoup des principes sont pareils en Windows.
(Encore que... Windows n'a pas de « condition », ou ne l'avait
pas pendant longtemps.) Reste qu'il se positionne à un niveau
assez bas (mais qu'il faut comprendre), et ne s'adresse pas à
des questions plus élevées, du genre des modèles de conception à
utiliser en C++. Il y a effectivement un trou entre lui et des
livres de conception C++, et je ne connais rien qui s'y
position. Un livre, par exemple, qui expliquerait les
différentes façons d'organiser les threads en classes. (J'en
connais trois ou quatre, dont la plus répandue est à mon avis à
éviter.) Ni des modèles de communication entre les threads --
comment implémenter un queue de messages, par exemple. (Dans mon
cas, par exemple, j'ai choisi d'utiser auto_ptr au niveau de
l'interface -- une fois l'objet passé à l'autre thread, le
thread émitteur n'en a plus accès.) Et comment effectuer un
arrêt propre ?

Boost a l'avantage d'offrir une interface portable au primitifs
du threading (et de simuler les condition sous Windows), mais là
aussi, son concept de « thread » est de vraiment bas niveau,
et assez délicat à l'utilisation. Il vaut mieux donc le wrapper
avec quelque chose qui implémente une abstraction plus élevée.

--
James Kanze (GABI Software) email:
Conseils en informatique orientée objet/
Beratung in objektorientierter Datenverarbeitung
9 place Sémard, 78210 St.-Cyr-l'École, France, +33 (0)1 30 23 00 34


Luc Hermitte
Le #313900
Bonjour,

On 18 jan, 09:29, James Kanze
[...] et ne s'adresse pas à
des questions plus élevées, du genre des modèles de conception à
utiliser en C++. Il y a effectivement un trou entre lui et des
livres de conception C++, et je ne connais rien qui s'y
position.


Dans une certaine mesure, il y a les bouquins et articles de Schmidt,
non? Ils sont très orientés patterns avec pour exemple
d'implémentation sa bibliothèque, ACE -- dont je te sais peu
partisant.

Un livre, par exemple, qui expliquerait les
différentes façons d'organiser les threads en classes. (J'en
connais trois ou quatre, dont la plus répandue est à mon avis à
éviter.)


Ta parenthèse m'interresse. Tu pourrais développer STP (un lien ou un
nom m'irait).

Ni des modèles de communication entre les threads --
comment implémenter un queue de messages, par exemple. (Dans mon
cas, par exemple, j'ai choisi d'utiser auto_ptr au niveau de
l'interface -- une fois l'objet passé à l'autre thread, le
thread émitteur n'en a plus accès.)


Mais, cela ne résout pas le cas où il faut passer le message à
plusieurs threads.

--
Luc Hermitte

Michel Decima
Le #313897
Hello,

On 18 jan, 09:29, James Kanze
[...] et ne s'adresse pas à
des questions plus élevées, du genre des modèles de conception à
utiliser en C++. Il y a effectivement un trou entre lui et des
livres de conception C++, et je ne connais rien qui s'y
position.


Dans une certaine mesure, il y a les bouquins et articles de Schmidt,
non? Ils sont très orientés patterns avec pour exemple
d'implémentation sa bibliothèque, ACE -- dont je te sais peu
partisant.


J'allais aussi citer Schmidt, mais tu as dégainé le premier.


Un livre, par exemple, qui expliquerait les
différentes façons d'organiser les threads en classes. (J'en
connais trois ou quatre, dont la plus répandue est à mon avis à
éviter.)


Ta parenthèse m'interresse. Tu pourrais développer STP (un lien ou un
nom m'irait).


Ca m'interesse aussi. Je connais au moins une facon de faire (celle
de Boost), mais je ne sais pas si c'est la plus répandue... Bref, si
tu pouvais nous donner quelques indications, je suis preneur, merci
d'avance.

Ni des modèles de communication entre les threads --
comment implémenter un queue de messages, par exemple. (Dans mon
cas, par exemple, j'ai choisi d'utiser auto_ptr au niveau de
l'interface -- une fois l'objet passé à l'autre thread, le
thread émitteur n'en a plus accès.)


Mais, cela ne résout pas le cas où il faut passer le message à
plusieurs threads.


Dans ce dernier cas, est ce qu'on peut vraiment eviter d'avoir
une queue par thread, et donc il faudra bien dupliquer le message
a un moment ou un autre ?


Publicité
Suivre les réponses
Poster une réponse
Anonyme