在java中,一個線程可以在一段指定的時間間隔內保持一個對象嗎?例如,假設我有以下代碼: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持有該鎖到增量法,直到我== 10和Don」 t想讓線程2訪問遞增方法!可能嗎!??
i == 10後你想要發生什麼? –
i == 10之後,線程b應該接管訪問由「..」更新的「balance」的值,然後在i == 25之後,a應該接管由b更新的「balance」的值! – Chandeep
你有一個通用規則還是隻有10和25個任意? –