auの日記

プログラミング初心者の日記。(auはハンドルネームです)

スレッドセーフとは

auです。

今日は、スレッドセーフについて調べました。

スレッドセーフ

スレッドセーフとは、スレッド同士で競合状態にならないようにする処理のことです。

競合状態については、以前記事にしました。
program-shoshinsya.hatenablog.com

スレッドは、平行処理をするために利用し、マルチスレッドとも呼ばれます。

共有データに複数のスレッドが入ってはいけない場合に、スレッドセーフを利用して、安全に処理ができるようにします。Aというスレッドが見るはずのデータを、Bが先に見て処理をしてしまっては結果が変わってしまいますからね。

C言語でも、スレッドセーフな関数と、スレッドセーフでない関数があります。ライブラリ関数はほとんどがスレッドセーフですが、他はそうとは限りません。

C言語では、ミューテックスを用いて、スレッドセーフの処理を行います。