鉴于限制,我不想在任何给定时间使用多个线程修改文件每个线程都有一个正常或最大的优先级。文件包含一个表格(假设学生(姓名,卷号)在特定科目中的分数)。任何可以被普通优先级线程修改的行都可以在以后被任何线程修改。一旦一行被最大优先级线程修改,普通优先级线程就不能修改该特定行。调度线程来访问文件是可行的,但限制某些行被某些线程修改对我来说是相当困难的。我怎样才能在java中完成上述任务?请回答我的问题,因为我对 java、多线程/并发编程和 java 中的文件解析非常陌生。提前致谢。
2 回答
FFIVE
TA贡献1797条经验 获得超6个赞
根据我的理解,设计可以是:
class ToothBrushHolder{
List<ToothBrush> toothBrushList;
ToothBrush pickToothBrush{
ToothBrush:pick the tooth brush from list
}
void useToothBrush(ToothBrush toothBrush){
synchronize(toothBrush){
if(toothBrush.getLastUsedBy!= "particularThreadName"){
//perform the action
toothBrush.setLastUsedBy("ThreadName);
}else
{ can't use brush
}
}
}
class ToothBrush{
String ToothBrushID;
String LastUsedBy;//setThreadname
}
添加回答
举报
0/150
提交
取消