解説:
私はLinux/Macを使用しています。
私のコードの一部はJavaであり、私のコードの一部はC++です。
どちらも、高速通信のために同じファイルをmmapしています。
JavaとC++のコードを同期させたい。
私は次のことを知っています:
1)Javaで2つのスレッドが与えられた場合、ロック/モニターを使用できます。
2)Javaで1つのコード、C ++で1つのコードが与えられた場合、tcp/ipを介してそれらを同期させることができます
3)メモリの領域をmmapした2つのC ++コードが与えられた場合、mmapされた領域の整数に対してgccのcompare_and_swapを使用してそれらを同期させることができます。
質問:
コードの一部がJavaであり、コードの一部がC ++であるとすると、どういうわけか(3)-JVMはある種のアトミックコンペアアンドスワップをサポートしますか?では、私のJavaコードとC ++コードの両方で、この整数を一種のロックとして使用できますか?
ありがとう!