私は同じクラスの2つのスレッドt1とt2を持っています。 t1はクラス自体で同期し、t2はthis
(インスタンス)で同期します。t1が同期ブロックに入ったと仮定すると、t1がまだその同期ブロックに入っている間にt2を入力できますか?Java同期クラスとこれは2つのスレッドで
編集: 例:
public class MyThread extends Thread{
private int id;
public MyThread(int i){id=I;}
public void run(){
if(id==1)//t1 will lock the clas
synchronize(MyThread.class){
…
}
else if(id==2) //t2 will lock the instance
synchronize(this){
…
}
}
}
コードを投稿してください。可能であれば、簡単なテストケースに減らしてください。また、それを実行してみる前に何が起こるかを調べてみてください。開発者にとって最も重要なスキルは、コードがどのように動作するかを調べるために実験する能力です。 –
答えは「はい」だと思います。しかし、私は疑問を誤解していた可能性があります。実際の答えはNo. –
です。@ジムガリソン私は例コード – Erez