2012-01-04 8 views

答えて

1

このメソッド内では、メソッドが実行中であることを示すためにオブジェクト属性(フラグ)を変更できます。

外部から、object.getBusyFlag()を使用して決定することができます。

しかし、メソッドをスレッドセーフにしようとする場合は、というキーワードで同期させることが考えられます。

+0

シングルトンであるため、メソッド実行時にBeanがロックされます。 getBusyFlag()はmainメソッドが終了した後に実行されます。 –

+0

ロックの問題を回避するために関数の代わりに静的変数 "busy"を使用しました。それを修正するためにBeanが管理する同時実行性を使用することもできます。ご回答有難うございます! –

1

ケントが正しい。さらに、 'flag'がブール値の場合、 'volatile'と宣言して 'synchronized'を使用しないでください。

関連する問題