je n'ai jamais fait de multithreading et je cherche une r=E9f=E9rence
(anglais ou fran=E7ais) pour apprendre, qui remplirait notamment les
crit=E8res suivants :
- indique les design patterns qui passent bien (et ceux =E0 =E9viter), les
bonnes pratiques...,
- non sp=E9cifique =E0 une plateforme.
[...] l'utilisation du modèle du méthode template pour la class Thread, avec customisation par dérivation pour la fonction à exécuter dans le thread. [...]
C-à-d state of the art il y a quinze ans, mais avec des problèmes bien connus entre temps. (Java l'étend en offrant l'option entre le modèle du méthode templat e et le modèle stratégie, avec customisation par un délégué. Entre temps, il est fortement conseillé d'utiliser le délégué.) OK, je vais voir à trouver des références au sujet de ces probl èmes
introduits. Merci.
Le problème est simple. Si on démarre le thread dans le constructeur (comme fait Java), il risque de démarrer avant que le constructeur de la classe dérivée ait fini.
Cela ne m'a pas choqué. Probablement car on est poussés à construire diverses choses, puis initialiser dans open(), puis à activer avec une fonction externe. Il est vrai que l'on peut mieux faire. Le "delete this" pour lequel je m'étais résigné me perturbait limite plus.
Je ne vois pas où tu as un problème avec « delete this » ; je l'utilise assez couramment. (Je crois même que la plupart des mes delete sont des delete this.) En revanche, je ne le vois pas pour un objet thread si le thread est joignable (et je ne vois pas d'objet thread du tout s'il ne l'est pas).
-- 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
On Jan 22, 5:05 pm, Luc Hermitte <luc.hermi...@gmail.com> wrote:
On 22 jan, 15:57, James Kanze <james.ka...@gmail.com> wrote:
On Jan 22, 11:10 am, Luc Hermitte <luc.hermi...@gmail.com> wrote:
[...] l'utilisation du modèle du méthode template pour la
class Thread, avec customisation par dérivation pour la fonction
à exécuter dans le thread.
[...]
C-à-d state of the art il y a quinze
ans, mais avec des problèmes bien connus entre temps. (Java
l'étend en offrant l'option entre le modèle du méthode templat e
et le modèle stratégie, avec customisation par un délégué. Entre
temps, il est fortement conseillé d'utiliser le délégué.)
OK, je vais voir à trouver des références au sujet de ces probl èmes
introduits. Merci.
Le problème est simple. Si on démarre le thread dans le
constructeur (comme fait Java), il risque de démarrer avant que
le constructeur de la classe dérivée ait fini.
Cela ne m'a pas choqué. Probablement car on est poussés à construire
diverses choses, puis initialiser dans open(), puis à activer avec une
fonction externe.
Il est vrai que l'on peut mieux faire. Le "delete this" pour lequel je
m'étais résigné me perturbait limite plus.
Je ne vois pas où tu as un problème avec « delete this » ; je
l'utilise assez couramment. (Je crois même que la plupart des
mes delete sont des delete this.) En revanche, je ne le vois pas
pour un objet thread si le thread est joignable (et je ne vois
pas d'objet thread du tout s'il ne l'est pas).
--
James Kanze (GABI Software) email:james.kanze@gmail.com
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
[...] l'utilisation du modèle du méthode template pour la class Thread, avec customisation par dérivation pour la fonction à exécuter dans le thread. [...]
C-à-d state of the art il y a quinze ans, mais avec des problèmes bien connus entre temps. (Java l'étend en offrant l'option entre le modèle du méthode templat e et le modèle stratégie, avec customisation par un délégué. Entre temps, il est fortement conseillé d'utiliser le délégué.) OK, je vais voir à trouver des références au sujet de ces probl èmes
introduits. Merci.
Le problème est simple. Si on démarre le thread dans le constructeur (comme fait Java), il risque de démarrer avant que le constructeur de la classe dérivée ait fini.
Cela ne m'a pas choqué. Probablement car on est poussés à construire diverses choses, puis initialiser dans open(), puis à activer avec une fonction externe. Il est vrai que l'on peut mieux faire. Le "delete this" pour lequel je m'étais résigné me perturbait limite plus.
Je ne vois pas où tu as un problème avec « delete this » ; je l'utilise assez couramment. (Je crois même que la plupart des mes delete sont des delete this.) En revanche, je ne le vois pas pour un objet thread si le thread est joignable (et je ne vois pas d'objet thread du tout s'il ne l'est pas).
-- 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