2016-04-01 18 views
-4

私は3つのクラスを持ち、3つのスレッドで共有されています。各スレッドは同期された共通リストにアクセスしようとします。しかし問題は、IDに基づいてスレッドをロックし、次のスレッドがロックされていればアンロックすることだけです。スレッドIDに基づいてスレッドをロックする方法はありますか?

私が持っているスレッド-1、スレッド2、スレッド3同時にリストにアクセスしようとしています。私はthread-1が完了するまで、そのidに基づいてthread-2とthread-3をロックする必要があります。そして、彼らを一つずつ実行させてください。

私はこれを達成するためにJavaプログラミングを使用しています。これを達成する方法を見つけるのを手伝ってください。

+0

スレッド1とスレッド2が同時にリストにアクセスする場合、問題はありませんか?どのようなプログラミング言語btw? – JohnnyAW

+0

いいえ、私は他のスレッドをロックし、そのIDに基づいて1つしか実行しません。現在のスレッドが完了すると、次のスレッドのロックを解除して実行させる必要があります。マルチスレッドが特定のリストとやりとりするときに起こる必要があります。 – ArrchanaMohan

+1

リスト上で同期すると、実際に必要な処理を実行する必要があります。スレッドは、別のスレッドが実行を完了した後にのみ、このコードブロックにアクセスします。 – JohnnyAW

答えて

関連する問題