"Swift Atomics" は、Swiftでアトミック操作(不可分操作、英語ではAtomic Operation)を実現するためのライブラリです。アトミック操作とは、マルチスレッド環境下で値の変更時に別のスレッドから操作を割り込まれないようにするために利用されます(簡単に言えばスレッドセーフな変数を作りたい場合に利用されることが多いです)。
Javaなどの言語にはアトミック操作が可能な変数型が公式にサポートされていますが、Swiftにはまだなく、必要な場合は自前で実装するか"Swift Concurrency"といったサードパーティライブライブラリを利用するしかありませんでした。まだバージョン1.0に達してはいませんが、Appleが公式に開発を進めているだけあって、今からでも注目に値するのではないでしょうか。
本稿では、アトミック操作の概要からSwift Atomicsを使ったアトミック操作の実装、さらには(紙面に余裕があれば)ライブラリの内部実装についてご紹介します。
コンテンツ(予定):