Java中基于优先级的文件数据更新和多线程

鉴于限制,我不想在任何给定时间使用多个线程修改文件

  • 每个线程都有一个正常或最大的优先级。

  • 文件包含一个表格(假设学生(姓名,卷号)在特定科目中的分数)。

  • 任何可以被普通优先级线程修改的行都可以在以后被任何线程修改。

  • 一旦一行被最大优先级线程修改,普通优先级线程就不能修改该特定行。

调度线程来访问文件是可行的,但限制某些行被某些线程修改对我来说是相当困难的。我怎样才能在java中完成上述任务?请回答我的问题,因为我对 java、多线程/并发编程和 java 中的文件解析非常陌生。提前致谢。



叮当猫咪
浏览 135回答 2
2回答

FFIVE

根据我的理解,设计可以是:class ToothBrushHolder{&nbsp; &nbsp;List<ToothBrush> toothBrushList;&nbsp; &nbsp;ToothBrush pickToothBrush{&nbsp; &nbsp; &nbsp; &nbsp; ToothBrush:pick the tooth brush from list&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}&nbsp; &nbsp;void useToothBrush(ToothBrush toothBrush){&nbsp; &nbsp; &nbsp; &nbsp; synchronize(toothBrush){&nbsp; &nbsp; &nbsp; &nbsp; if(toothBrush.getLastUsedBy!= "particularThreadName"){&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //perform the action&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;toothBrush.setLastUsedBy("ThreadName);&nbsp; &nbsp; &nbsp; }else&nbsp; &nbsp; &nbsp; &nbsp; { can't use brush&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}&nbsp;}&nbsp;}class ToothBrush{&nbsp; &nbsp; String ToothBrushID;&nbsp; &nbsp; String LastUsedBy;//setThreadname&nbsp; &nbsp;}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java