終わらない......。Volatile)の型の要素になっていた場合、アクセスはアトミックに行われることが確定しました。従来は曖昧だった部分です。いった同期関係のアスペクトが指定できるようになりました。仮引数にこれらが指定されていた場合には実引数にも同じものが指定されている型を渡さなければなりません。アスペクトを付けるだけで読み書き自体はアトミックにはなるのですが、実際のロックフリーなアルゴリズムでは読み書き分岐等をセットにした操作が必要になります。関数が用いられていました。ビルトイン関数群が利用できます。https://gcc.gnu.org/onlinedocs/gcc/_005f_005fsync-Builtins.htmlhttps://gcc.gnu.org/onlinedocs/gcc/_005f_005fatomic-Builtins.html当然これらは処理系ごとにバラバラです。2020ではそのためのライブラリが追加されました。System.Atomic_Operations¶ライブラリの親となる空のパッケージです。加減算を行い演算前の値を返す関数や演算後の値を返す関数群です。パッケージになっていて引数に操作対象のAtomic型を取ります。所謂swapやcompare-and-swapです。パッケージになっていて引数に操作対象のAtomic型を取ります。http://ada-auth.org/standards/2xrm/html/RM-C-6-2.html#p5System.Atomic_Operations.Test_And_Set¶アトミックな(少なくとも)1ビットのフラグ型です。あれば簡単に実現可能ではありますがその場合ユーザーが適切な型をCPUに合わせて宣言しないといけないため、専用の型も含めて用意されています。