试图制作一个模仿进程表的程序
Posted
技术标签:
【中文标题】试图制作一个模仿进程表的程序【英文标题】:Trying to make a program that imitates a Process Table 【发布时间】:2011-04-18 23:39:25 【问题描述】:我正在尝试创建一个类似于进程表的程序。 我必须实现一个类 PCB(进程控制块),其中包含多个字段,例如:进程名称(字符串) 进程优先级(整数) 注册集值(Register Set 类的对象,包含以下字段:XAR、XDI、XDO、PC。
然后我的程序需要创建一个 Process Table 数据结构作为数组(最大大小为 100 个元素)或 PCB 类型的数组列表,并使用文件“processes1.txt”中的数据初始化该数组,然后是 Process Table arraylist 必须按每个进程打印出它的内容。
所以我的问题是: 1. 我要写多少程序/课程?是不是 3. 第一个创建 PCB 的 Process Table 数组列表的程序。第二类是定义 PCB 字段的 PCB 类。 2. 第一个程序如何用文本文件中的数据初始化数组列表? 3. 我可以使用 ArrayList 的 ArrayList 吗?我该怎么做? 提前谢谢您。
【问题讨论】:
【参考方案1】:-
ProcessTable、ProcessControlBlock、RegisterSet 听起来不错。
我会在 ProcessTable 中创建一个名为 load(File file) 的方法,该方法使用 File,也许还有 TextReader 来读取配置。有很多方法可以读取文本文件。也在 BufferedInputStream 上谷歌。例子比比皆是。
ArrayLists 可以保存对象,而ArrayList 确实是一个Object,所以是的。使用很简单:
someArrayList.add(someOtherArraylist);
虽然声明有点困难:
ArrayList<ArrayList<String>> a = new ArrayList<ArrayList<String>>();
它说'a 是一个包含其他包含字符串的 ArrayLists 的 ArrayList。'还有其他更通用的方法来编写声明,但这说明了要点。
【讨论】:
我可以做 ArrayListprivate ArrayList<PCB> processControlBlocks = new ArrayList<PCB>();
的属性,因此我们希望PCB 类具有name
、priority
和registerSet
等属性。以上是关于试图制作一个模仿进程表的程序的主要内容,如果未能解决你的问题,请参考以下文章