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);
}
________;
}
}