この 2 つのケースでは、共有データは同じものではないことを理解する必要があります。
スレッド セーフとは、複数のスレッドから 1 つのインスタンスにアクセスすることです。したがって、共有データは、パブリック メソッドによってアクセスされる場合、そのクラスの任意のメンバーである可能性があります。インスタンス間で共有されるのではなく (インスタンスが 1 つしかないため)、スレッド間でのみ共有されます。
条件付き安全は、それぞれ独自のスレッドから異なるインスタンスにアクセスすることについて話します。データはインスタンス間で共有する必要があるため、集約メンバー (おそらく依存性注入によって提供される)、静的メンバー、または (外部) シングルトンのみにすることができます。
しかし、前述のウィキペディアの記事 ( Qt の記事は間違っています) のすべての引用を読むと、ウィキペディアが IBM の命名を誤って伝えている可能性があることがわかります。IBM による条件付きとは、クラス/API の一部のメソッドのみが threadsafeであること、または API が影響を与えることができない基盤となるサービスにスレッドセーフが依存していることを意味します (良い例を挙げてください)。スレッド共有データとインスタンス共有データを区別しないため、スレッドセーフとリエントラントの Qt 命名規則の方が適切なようです。