package com;
/**
* synchronized 关键字的使用
* 在简单的多线程编程中,由于是小数据流,并不会出现两个线程访问同一个对象的情况。但是在大多数程序代码中有大量的信息流
* 这种情况下就有可能出现不同线程访问同一个对象的。在实际的应用中这有可能是灾难性滴。所以java提供了一种简单的机制来防止
* 这种情况的发生,就是每个对象运行的时候有个关联锁,这个锁可以通过使用关键字synchronized获得。
* 下面代码示例说明:
*
* 其中 addMethod(*) 和 reduceMethod(*)兩個方法需要這個鎖進行操作,所以當一個函數運行時,另一個函數是被阻塞的。
* @author Administrator
*
*/
public class KeyClass {
String holderName;
float amount;
public KeyClass(String str,float ft){
holderName = str;
amount = ft;
}
public synchronized void addMethod(float am){
amount += am;
}
public synchronized void reduceMethod(float am){
amount -= am;
}
public float getAmountinfo(){
return amount;
}
}