すべてのクラス バイト コードは、クラス ローダーごとに 1 回メモリにロードされることを学びました。つまり、あるスレッドが何らかのメソッドのバイト コードを実行しているときに、別のスレッドが実行されます。
1スレッド -> 1インスタンス -クラス Foo の == 問題ありません。
Xスレッド -> 1インスタンス -クラス Foo == の処理が必要 これは明らかです。
Xスレッド -> X それぞれのインスタンス -クラス Fooの == ????
メソッドで何も混乱していないことを確認する必要がありますか? メソッドがインスタンスレベルの変数を使用している場合、正しい変数を使用していると確信できますか?
アップデート:
私の質問が明確ではなかったようです。ここに数字の例があります
同期のないクラス型Fooのオブジェクトがあります!!
そのFooの 5 つのインスタンスがあり、それぞれに対して 5 つのスレッドが実行され、インスタンスレベルのパラメーターにアクセスします。たとえば、次のようになります。
class FOO {
private SomeObject someObject=new SomeObject();
private void problematicMethod(Data data) {
someObject.doSomethingWithTheData(data);
data.doSomethingWithSomeObject(someObject);
// any way you want it use the data or export the data
}
}
このクラスには1バイト コードしかなく、このバイト コードにアクセスするこのオブジェクトには5つのインスタンスしかないため、ここに問題があるのでしょうか。行う?
ありがとう、アダム。