试图制作一个模仿进程表的程序

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。'还有其他更通用的方法来编写声明,但这说明了要点。

【讨论】:

我可以做 ArrayList a = new ArrayList>(); 这有意义吗?可能不会。 我想做 ArrayList ProcessTable = new ArrayList> 他可能的意思是你想要一个名为 ProcessTable 的类,而不是它们的列表。只有一个进程表,对吧?此类可能具有定义为private ArrayList&lt;PCB&gt; processControlBlocks = new ArrayList&lt;PCB&gt;(); 的属性,因此我们希望PCB 类具有namepriorityregisterSet 等属性。

以上是关于试图制作一个模仿进程表的程序的主要内容,如果未能解决你的问题,请参考以下文章

如何创建SSH克隆?

Python 子进程挂起命名管道

安全类工具制作第004篇:进程管理器(上)

Java:如何处理两个进程试图修改同一个文件[重复]

2014025663《嵌入式程序设计》第七周学习总结

试图加载格式不正确的程序