Javaでは、スレッドは指定された時間間隔でオブジェクトを保持できますか?たとえば、次のコードがあるとします。
package test;
class Thread1 implements Runnable {
private int balance;
@Override
public void run() {
// TODO Auto-generated method stub
for(int i=0;i<50;i++)
{
increment();
System.out.println("The bal by "+Thread.currentThread().getName()+" "+balance);
}
}
public synchronized void increment()
{
int i=balance;
balance =i+1;
}
}
メインクラス:
package test;
public class MainC {
public static void main(String args[])
{
Thread1 job=new Thread1();
Thread a =new Thread(job);
Thread b=new Thread(job);
a.setName("Thread a");
b.setName("Thread b");
a.start();
b.start();
}
}
ここで、スレッド1がi == 10まで増分メソッドのロックを保持し、スレッド2が増分メソッドにアクセスしないようにします。出来ますか!??