Bonjour,
Dans le tutoriel sur la programmation concurrente de Sun
(http://java.sun.com/docs/books/tutorial/essential/concurrency/index.html),
on explique qu'il faut faire attention à 2 problèmes:
- l'interférence des threads dues à l'entrelacement des instructions
- les problèmes de cohérence de la mémoire
Ils expliquent que les raisons des vues incohérentes dépassent le cadre
de ce tutorial et je ne suis pas parvenu à trouver plus d'information à
ce sujet.
Ainsi est-ce que quelqu'un saurait me dire dans quel cas on pourrait
avoir une telle incohérence lorsque le non-entrelacement des
instructions est garanti (usage de volatile)?
Merci d'avance.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
TestMan
Bonjour, Dans le tutoriel sur la programmation concurrente de Sun (http://java.sun.com/docs/books/tutorial/essential/concurrency/index.html), on explique qu'il faut faire attention à 2 problèmes: - l'interférence des threads dues à l'entrelacement des instructions - les problèmes de cohérence de la mémoire Ils expliquent que les raisons des vues incohérentes dépassent le cadre de ce tutorial et je ne suis pas parvenu à trouver plus d'information à ce sujet. Ainsi est-ce que quelqu'un saurait me dire dans quel cas on pourrait avoir une telle incohérence lorsque le non-entrelacement des instructions est garanti (usage de volatile)? Merci d'avance.
« Un champ peut être déclaré volatile, dans un tel cas le modèle mémoire de Java s'assurera que chaque fil voit une valeur cohérente de la variable »
A+ TM
Bonjour,
Dans le tutoriel sur la programmation concurrente de Sun
(http://java.sun.com/docs/books/tutorial/essential/concurrency/index.html),
on explique qu'il faut faire attention à 2 problèmes:
- l'interférence des threads dues à l'entrelacement des instructions
- les problèmes de cohérence de la mémoire
Ils expliquent que les raisons des vues incohérentes dépassent le cadre
de ce tutorial et je ne suis pas parvenu à trouver plus d'information à
ce sujet.
Ainsi est-ce que quelqu'un saurait me dire dans quel cas on pourrait
avoir une telle incohérence lorsque le non-entrelacement des
instructions est garanti (usage de volatile)?
Merci d'avance.
Bonjour, Dans le tutoriel sur la programmation concurrente de Sun (http://java.sun.com/docs/books/tutorial/essential/concurrency/index.html), on explique qu'il faut faire attention à 2 problèmes: - l'interférence des threads dues à l'entrelacement des instructions - les problèmes de cohérence de la mémoire Ils expliquent que les raisons des vues incohérentes dépassent le cadre de ce tutorial et je ne suis pas parvenu à trouver plus d'information à ce sujet. Ainsi est-ce que quelqu'un saurait me dire dans quel cas on pourrait avoir une telle incohérence lorsque le non-entrelacement des instructions est garanti (usage de volatile)? Merci d'avance.
« Un champ peut être déclaré volatile, dans un tel cas le modèle mémoire de Java s'assurera que chaque fil voit une valeur cohérente de la variable »
A+ TM
mei
Bonjour, Dans le tutoriel sur la programmation concurrente de Sun (http://java.sun.com/docs/books/tutorial/essential/concurrency/index.html), on explique qu'il faut faire attention à 2 problèmes: - l'interférence des threads dues à l'entrelacement des instructions - les problèmes de cohérence de la mémoire Ils expliquent que les raisons des vues incohérentes dépassent le cadre de ce tutorial et je ne suis pas parvenu à trouver plus d'information à ce sujet. Ainsi est-ce que quelqu'un saurait me dire dans quel cas on pourrait avoir une telle incohérence lorsque le non-entrelacement des instructions est garanti (usage de volatile)? Merci d'avance.
« Un champ peut être déclaré volatile, dans un tel cas le modèle mémoire de Java s'assurera que chaque fil voit une valeur cohérente de la variable »
A+ TM
Bonsoir TM et merci d'avoir pris la peine de répondre. Est-ce que tu comprends donc comme moi que cette phrase tend à faire penser qu'il ne peut y avoir d'incohérence mémoire avec un volatile ?
Bonjour,
Dans le tutoriel sur la programmation concurrente de Sun
(http://java.sun.com/docs/books/tutorial/essential/concurrency/index.html),
on explique qu'il faut faire attention à 2 problèmes:
- l'interférence des threads dues à l'entrelacement des instructions
- les problèmes de cohérence de la mémoire
Ils expliquent que les raisons des vues incohérentes dépassent le
cadre de ce tutorial et je ne suis pas parvenu à trouver plus
d'information à ce sujet.
Ainsi est-ce que quelqu'un saurait me dire dans quel cas on pourrait
avoir une telle incohérence lorsque le non-entrelacement des
instructions est garanti (usage de volatile)?
Merci d'avance.
« Un champ peut être déclaré volatile, dans un tel cas le modèle mémoire
de Java s'assurera que chaque fil voit une valeur cohérente de la
variable »
A+
TM
Bonsoir TM et merci d'avoir pris la peine de répondre.
Est-ce que tu comprends donc comme moi que cette phrase tend à faire
penser qu'il ne peut y avoir d'incohérence mémoire avec un volatile ?
Bonjour, Dans le tutoriel sur la programmation concurrente de Sun (http://java.sun.com/docs/books/tutorial/essential/concurrency/index.html), on explique qu'il faut faire attention à 2 problèmes: - l'interférence des threads dues à l'entrelacement des instructions - les problèmes de cohérence de la mémoire Ils expliquent que les raisons des vues incohérentes dépassent le cadre de ce tutorial et je ne suis pas parvenu à trouver plus d'information à ce sujet. Ainsi est-ce que quelqu'un saurait me dire dans quel cas on pourrait avoir une telle incohérence lorsque le non-entrelacement des instructions est garanti (usage de volatile)? Merci d'avance.
« Un champ peut être déclaré volatile, dans un tel cas le modèle mémoire de Java s'assurera que chaque fil voit une valeur cohérente de la variable »
A+ TM
Bonsoir TM et merci d'avoir pris la peine de répondre. Est-ce que tu comprends donc comme moi que cette phrase tend à faire penser qu'il ne peut y avoir d'incohérence mémoire avec un volatile ?
mei
Bonjour, Dans le tutoriel sur la programmation concurrente de Sun (http://java.sun.com/docs/books/tutorial/essential/concurrency/index.html), on explique qu'il faut faire attention à 2 problèmes: - l'interférence des threads dues à l'entrelacement des instructions - les problèmes de cohérence de la mémoire Ils expliquent que les raisons des vues incohérentes dépassent le cadre de ce tutorial et je ne suis pas parvenu à trouver plus d'information à ce sujet. Ainsi est-ce que quelqu'un saurait me dire dans quel cas on pourrait avoir une telle incohérence lorsque le non-entrelacement des instructions est garanti (usage de volatile)? Merci d'avance.
« Un champ peut être déclaré volatile, dans un tel cas le modèle mémoire de Java s'assurera que chaque fil voit une valeur cohérente de la variable »
A+ TM
Bonsoir TM et merci d'avoir pris la peine de répondre. Est-ce que tu comprends donc comme moi que cette phrase tend à faire penser qu'il ne peut y avoir d'incohérence mémoire avec un volatile ?
Je me rend compte que ma question initiale n'était pas forcément très claire. En fait, ce que je n'avais pas compris dans le tutorial de Sun dont je donnais le lien (section "Atomic Access"), c'était la phrase suivante: "Atomic actions cannot be interleaved, so they can be used without fear of thread interference. However, this does not eliminate all need to synchronize atomic actions, because memory consistency errors are still possible." Les actions atomiques ne peuvent pas s'entrelacer, donc elles peuvent être utilisées sans se soucier des interférences de thread. Cependant, ça n'élimine pas le besoin de synchroniser les actions atomiques, car les erreurs de cohérence mémoire sont toujours possibles.
Bonjour,
Dans le tutoriel sur la programmation concurrente de Sun
(http://java.sun.com/docs/books/tutorial/essential/concurrency/index.html),
on explique qu'il faut faire attention à 2 problèmes:
- l'interférence des threads dues à l'entrelacement des instructions
- les problèmes de cohérence de la mémoire
Ils expliquent que les raisons des vues incohérentes dépassent le
cadre de ce tutorial et je ne suis pas parvenu à trouver plus
d'information à ce sujet.
Ainsi est-ce que quelqu'un saurait me dire dans quel cas on pourrait
avoir une telle incohérence lorsque le non-entrelacement des
instructions est garanti (usage de volatile)?
Merci d'avance.
« Un champ peut être déclaré volatile, dans un tel cas le modèle
mémoire de Java s'assurera que chaque fil voit une valeur cohérente de
la variable »
A+
TM
Bonsoir TM et merci d'avoir pris la peine de répondre.
Est-ce que tu comprends donc comme moi que cette phrase tend à faire
penser qu'il ne peut y avoir d'incohérence mémoire avec un volatile ?
Je me rend compte que ma question initiale n'était pas forcément très
claire. En fait, ce que je n'avais pas compris dans le tutorial de Sun
dont je donnais le lien (section "Atomic Access"), c'était la phrase
suivante:
"Atomic actions cannot be interleaved, so they can be used without fear
of thread interference. However, this does not eliminate all need to
synchronize atomic actions, because memory consistency errors are still
possible."
Les actions atomiques ne peuvent pas s'entrelacer, donc elles peuvent
être utilisées sans se soucier des interférences de thread. Cependant,
ça n'élimine pas le besoin de synchroniser les actions atomiques, car
les erreurs de cohérence mémoire sont toujours possibles.
Bonjour, Dans le tutoriel sur la programmation concurrente de Sun (http://java.sun.com/docs/books/tutorial/essential/concurrency/index.html), on explique qu'il faut faire attention à 2 problèmes: - l'interférence des threads dues à l'entrelacement des instructions - les problèmes de cohérence de la mémoire Ils expliquent que les raisons des vues incohérentes dépassent le cadre de ce tutorial et je ne suis pas parvenu à trouver plus d'information à ce sujet. Ainsi est-ce que quelqu'un saurait me dire dans quel cas on pourrait avoir une telle incohérence lorsque le non-entrelacement des instructions est garanti (usage de volatile)? Merci d'avance.
« Un champ peut être déclaré volatile, dans un tel cas le modèle mémoire de Java s'assurera que chaque fil voit une valeur cohérente de la variable »
A+ TM
Bonsoir TM et merci d'avoir pris la peine de répondre. Est-ce que tu comprends donc comme moi que cette phrase tend à faire penser qu'il ne peut y avoir d'incohérence mémoire avec un volatile ?
Je me rend compte que ma question initiale n'était pas forcément très claire. En fait, ce que je n'avais pas compris dans le tutorial de Sun dont je donnais le lien (section "Atomic Access"), c'était la phrase suivante: "Atomic actions cannot be interleaved, so they can be used without fear of thread interference. However, this does not eliminate all need to synchronize atomic actions, because memory consistency errors are still possible." Les actions atomiques ne peuvent pas s'entrelacer, donc elles peuvent être utilisées sans se soucier des interférences de thread. Cependant, ça n'élimine pas le besoin de synchroniser les actions atomiques, car les erreurs de cohérence mémoire sont toujours possibles.
Eric Razny
Le Thu, 15 Feb 2007 09:35:15 +0100, TestMan a écrit :