在多线程中,用synchronized修饰一个操作,可以防止在执行期间被中断。
比如转账的操作:
public synchronized void transfer (int from,int to,int amount) {
if (accounts[from]<amount)
return;
accounts[from] -= amount;
accounts[to] += amount;
}
这样,accounts[to]肯定会被执行完成,而不会被其它线程中断。
比如转账的操作:
public synchronized void transfer (int from,int to,int amount) {
if (accounts[from]<amount)
return;
accounts[from] -= amount;
accounts[to] += amount;
}
这样,accounts[to]肯定会被执行完成,而不会被其它线程中断。
synchronized(this){
代码;
}
的形式把一些代码设置成“同步”的!