java线程如何实现并发

标签 java multithreading

我创建了一个名为 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/

相关文章:

java - 最小化利润,工作安排与最后期限

java - 无法提取 ResultSet,与 String 相关为

Java:notify() 上的 IllegalMonitorStateException

java - ReadableByteChannel 在读取(bytebuffer)时挂起

java - 如何获得 AudioInputStream 的持续时间?

java - 陷入泛型困境

java - Firestore google.cloud.Timestamp 解析

c++ - 监控一个线程的状态

c# - Label.Text = Struct.Value (Microsoft.VisualStudio.Debugger.Runtime.CrossThreadMessagingException)

c - MPQueue - 它是什么以及如何使用它?