31. 以下程序段定义的类DataManager用于管理多个线程共享数据data。为了对data的取、存和修改操作保持完整,多线程在data上的操作有互斥要求;另外,限制线程对data的修改不能让data为负数,所以多线程在data上的操作还有同步要求。为此,程序为管理data上的操作定义成类。
class DataManager{
int data;
DataManager(int init){data=init;}
public int getData(){return data;}
private void putData(int newValue){ data=newValue;}
__________ void modiData(int delta){
if(delta>=0) {
putData(getData()+delta);
} else {
while(getData()+delta<0) {
try{ wait();}
catch(InterruptedException e) {}
}
putData(getData()+delta);
}
________;
}
}