java.util.concurrentパッケージの API ドキュメントを読みました。
そこでは「並行」と「スレッドセーフ」が同義語として使われている印象があります。
例:
ConcurrentLinkedDeque -リンクされたノードに基づく無制限の同時両端キュー。ConcurrentLinkedQueue -リンクされたノードに基づく無制限のスレッドセーフなキュー。
同時実行パッケージの範囲内で、スレッドセーフと同時実行という言葉遣いは同じ意味であると想定できますか?
java.util.concurrentパッケージの API ドキュメントを読みました。
そこでは「並行」と「スレッドセーフ」が同義語として使われている印象があります。
例:
ConcurrentLinkedDeque -リンクされたノードに基づく無制限の同時両端キュー。ConcurrentLinkedQueue -リンクされたノードに基づく無制限のスレッドセーフなキュー。
同時実行パッケージの範囲内で、スレッドセーフと同時実行という言葉遣いは同じ意味であると想定できますか?
はい ... 並行パッケージ内のすべてを異なるスレッドから並行して使用できます。たとえば、スレッドセーフです。
具体的には、リンク先のページの「同時コレクション」セクションの下で:
並行コレクションはスレッドセーフですが、単一の排他ロックによって制御されません。
それは別として...パッケージの全体的な目的は、java.util.concurrent.*
並行(マルチスレッド)プログラミング用のツールを提供することです。
この文脈では、それは「(同期を使用するスタックなどの他の古いコレクションとは異なり)非ブロックであり、同時アクセスにより適しているスレッドセーフなコレクション」を意味すると思います。
ConcurrentLinkedQueue
ドキュメントを見たところ、次のように書かれています。
[...] 他の同時収集と同様に [...]
それはまた言います:
[...] リンクされたノードに基づく無制限のスレッドセーフなキュー。
CLQ はスレッドセーフであり、「他の同時実行コレクション」と比較されているため、実際には同義的に使用されていると想定できると思います。
これを確認する唯一の方法は、Java ディストリビューションのソースを調べることです。