Exposition:Java, C++, NIO, tampon mmaped, synchronisation
Je suis sous Linux/Mac.
Une partie de mon code est en Java, une partie de mon code est en C++.
Ils ont tous deux le même fichier mmapped pour une communication rapide.
Je souhaite synchroniser le code C++ Java &.
Je sais ce qui suit:
1) donné deux fils en Java, je peux utiliser des verrous/moniteurs.
2) étant donné un morceau de code en langage Java, une en C++, je peux avoir les synchroniser sur TCP/IP
3) donné deux morceaux de code C++, qui ont mmaped une zone de mémoire, je peux faites-les synchroniser en utilisant compare_and_swap de gcc sur un entier dans la région mmaped.
Question:
Étant donné qu'une partie de mon code est en Java, une partie de mon code est en C++, puis-je faire en quelque sorte (3) - ce que le support JVM un certain type de atomique comparer & échange? Donc, mes deux Java & code C++ peuvent utiliser cet entier comme un verrou de toutes sortes?
Merci!
http://www.google.com/search?q=atomic+java – Potatoswatter