「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典イメージぴよ画像「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典

スレッドセーフ

pointこの用語のポイント

pointマルチスレッドにしても大丈夫だよ

スポンサーリンク

簡単に書くよ

スレッドセーフ(英:thread safe)とは

「マルチスレッドでも(並行処理が発生するようになっていても)大丈夫だよ~」のこと。
もう少し具体的に書くと

「マルチスレッドな環境で、複数のスレッドが同時に実行したり同じデータを扱ったりしても、ぶっ壊れないよ~」のこと
です。


image piyo

詳しく書くよ

順番に見ていきましょう。
まずは予備知識として「マルチスレッド」について簡単に説明します。
「そんなの説明されなくても知ってるよ!」な人は適当に読み飛ばしてください。

マルチスレッドは「並行処理の発生するプログラム」です。
例えば

1.ご飯を炊く
2.カレーを煮込む
3.お皿に盛る


の3つの処理をやるカレー作成プログラムが あったとしましょう。
「ご飯を炊く」と「カレーを煮込む」を同時にやる作りになっているのがマルチスレッドです。

スレッドセーフ

以上を踏まえて、本題に入ります。

マルチスレッド環境においては、それぞれの処理スレッドが独立して動きます。
ただし、それぞれの処理が影響し合わないとは限りません。

例えば、ご飯は土鍋で炊くとします。
そうすると、コンロを使いますよね。

このとき、コンロは一口しかありませんでした。

そうすると、カレーを煮込むコンロが、ありませんよね。
これでは「ご飯を炊く」と「カレーを煮込む」を同時にやれません。
おーまいがっ!です。

このように、マルチスレッド環境では、他のスレッドの影響で、なんかおかしくなる場合があります。
2つ以上のお仕事を同時にやるので、上手く足並みが揃わないと邪魔しあってしまうのです。

それを前提として「そんなことには、ならないよ!そこら辺はちゃんと考えてあるから、並行処理しても問題ないよ!」を意図する用語が「スレッドセーフ」です。
「マルチスレッドでも大丈夫!」を意味します。

例えば「この処理はスレッドセーフになっている」であれば「並行処理されることを考慮してるよ」の意味です。
「スレッドセーフな実装にする」であれば「並行処理されても大丈夫なように作るよ」の意味になります。


image piyo2

一言でまとめるよ

まぁ「スレッドセーフ」って単語が出てきたら「マルチスレッドにしても大丈夫なんだな~」と お考えください。

一番上に戻るよ
スポンサーリンク
書籍画像059
書籍画像059

おまけ

■訳してみるよ

「thread(スレッド)」の意味は「より糸」とか「筋道」とか「脈絡」とかです。
「safe(セーフ)」の意味は「安全な」とか「安心な」とかです。
何となく くっつけると

糸が安全

となります。




書籍画像
わわわ説明術コラム
宣伝だよ
「分かった!」と思わせる説明の技術 知識ゼロの相手にも伝わるようになる本【Audible】
つくって、壊して、直して学ぶ Kubernetes入門
ウォーターサーバーのキャッチコピーを100本考える方法