これらの概念はプロセスにも移植できますか?
はい、アトミック操作はスレッドとプロセスの両方で普遍的です。IIF アトミックに使用されるメモリは共有されます。
アトミック操作はプロセッサ自体の特定の命令であり、スレッドやプロセスについては何も知らず、低レベルのハードウェア実装を使用したアクション (読み取り、比較、保存) のオール オア ナッシング (不可分) の複合体です。
したがって、プロセス間で共有メモリをセットアップし、atomic_t をそこに入れることができます。
ロックフリー
はい、ロックフリーがアトミックでのみ実装されている場合。(そうすべき)
データ構造
共有メモリが(データ構造内に)ポインタを格納するために使用される場合、両方のプロセスで同じアドレスにマップされていることを確認する必要があります。
メモリが別のアドレスにマップされる場合、ポインターは別のプロセスで壊れます。この場合、相対アドレスを使用し、単純なメモリ変換を行う必要があります。
相互プロセスミューテックス
そして、glibc>2.4 (NPTL) は、非競合ロック (プロセス共有ミューテックス = プロセス間ミューテックス) のためにアトミック操作と組み合わせた futex を使用していると言わざるを得ません。したがって、すでに共有メモリでアトミック操作を使用しています。