在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 访问增量方法!可能吗!??