我创建了一个名为 X 的主类以及两个 Y 和 Z 类。 Y 和 Z 实现 Runnable 类。类 X 包含一个静态数组 A,可以在 Y 和 Z 中访问该数组。 run()
Y 类的方法读取输入文件并填充 vector A。 run()
Z类的方法使用存储在 vector A中的数据来处理一些数据。
在这个问题中使用线程的目标是:当 vector A填充run()
时Y 类的方法,run()
Z类的方法将处理 vector A中接收到的值。
为此,我在类 X 的 main 方法中进行了以下调用:
public static void main(String[] args) {
Y objectY = new Y();
Thread threadInput = new Thread(objectY );
threadInput.start();
Z objectZ = new Z();
Thread threadOut = new Thread(objectZ);
threadOut.start();
这是正确的吗?我得到了预期的结果,但不知道代码实际上是否是并行化的。如果没有并行化,我该怎么做?
最佳答案
是的,您的代码确实启动了两个与主线程并行操作的单独线程。如果没有看到该代码,我无法验证静态数组处理的正确性,但我可以确认这确实是并行化的。
关于java线程如何实现并发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26746810/