スレッドセーフ
【英】thread safe
スレッドセーフとは、OSが複数の処理を並行して行うための技法であるマルチスレッド環境において、処理単位であるスレッドが複数同時にひとつのデータを扱っても、データが正常なまま保たれるような状態のことである。
マルチスレッド環境では、アプリケーション内で複数の処理(スレッド)が同時並行的に行われることとなるが、このとき、複数のスレッドがひとつのデータや手続きに対して同時にアクセスしようとする場合が生じる。すると、あるスレッドがデータを操作したことによって他のスレッドが利用するデータに影響が出てしまったり、あるいは同じ手続きを同時に複数のスレッドが呼び出したことによって予期しない動作が行わてしまったりといった事態が発生しかねない。スレッドセーフの状態とは、こうした事態があらかじめ想定されていて、常に正常に動作するような対策が設計上盛り込まれている状態を指している。
ただし、マルチスレッド環境においてデータや手続きへアクセスした際の影響は予測しきれないほど多彩なものなので、完璧にスレッドセーフであるような状態を実現することは難しい。実際には、どの程度スレッドセーフであるか、あるいはどの点においてスレッドセーフであるか、といった表現をとる他ない。
|