Peterson algorithme en Java?

Est-il par exemple de la mise en œuvre de l'algorithme de Peterson pour l'exclusion mutuelle dans Java?

  • N'hésitez pas à poster vos propres réponses, je suis à la recherche pour le meilleur!
  • Voulez-vous dire Peterson de l'algorithme pour la mise en œuvre de l'exclusion mutuelle avec seulement de la mémoire partagée avec des hypothèses fortes? Je doute que Java du modèle de mémoire (ou toute autre langue moderne assez explicitement de donner un modèle de mémoire) permet de Peterson algorithme de travailler... Et si vous allez utiliser des barrières de la mémoire, pourquoi ne pas utiliser la synchronisation des instructions fournies par le langage?
  • Cuoq je ne suis pas sûr, pouvez-vous m'indiquer papier original sur cet algorithme, afin que je puisse vérifier? Quelles conditions préalables doivent être satisfaites par le modèle de mémoire sémantique pour assurer algorithme correct? La raison de la non utilisation de la simultanéité et de la synchronisation des mécanismes fournis par Java est simplement que je suis en train d'essayer de comprendre Petersons algorithme, ne sont pas simultanées de programmation en Java.
  • L'algorithme est si courte (l'article original est célèbre pour être seulement 2 pages) qu'il est entièrement sur la page Wikipédia: en.wikipedia.org/wiki/Peterson%27s_algorithm . Voir la "Note" à l'article trop.
  • Cuoq j'ai lu l'article, mais je ne pouvais pas trouver aucune mention de la "hypothèses fortes". Donc si j'ai bien compris le problème ici c'est que la possibilité de réordonner les accès à la mémoire?
  • Vous avez raison, le problème est l'accès à la mémoire de réorganisation. L'article est antérieur à l'optimisation des implémentations de multi-CPU / multi-core. Le DEC Alpha concepteurs ont été les premiers à affaiblir l'idée d'un seul mémoire partagée vues par tous les processeurs/cœurs/threads. Cette "unique et cohérente de la mémoire partagée" l'hypothèse est implicite (mais clairement fait) dans l'article.
  • Cuoq ah, maintenant je comprends ce que tu ment, merci:)