Java 将值传递给新对象

标签 java

是否可以将 i 的值传递到新的线程对象中?

当前代码:

int cores = 4;
final int n = 10000;
static double sum = 0.0;

Thread[] threads = new Thread[cores];

for (int i = 0; i < cores; i++)
{
    threads[i] = new Thread(new Runnable() {
        public void run() {
            for (int j = i * (n / cores); j < (i + 1) * N / P; j++) {
                double x = (j + 0.5) * step;
                sum += 4.0 / (1.0 + x * x);
            }
        }
    });
}

问候

最佳答案

创建您自己的扩展Thread的内部类,然后将您的值传递给该类的实例,无论您想要什么 - 构造函数、setter方法等。

这是使用构造函数的起始代码。

public class MyThread extends Thread
{
   private int myI;

   public MyThread(int i) { myI = i; }

   @Override
   public void run()
   {
      // Your code goes here, referencing the "myI" variable.
   }
}

关于Java 将值传递给新对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14713781/

相关文章:

java - 在这种情况下是否需要实现标准构造函数(Java)?

java - Tomcat 9不允许以777权限读取文件作为字符串?

java - 显示在整个执行过程中命中了哪些代码行的 Eclipse 工具?

java - PowerMock EasyMock 基础知识

java - Range-seek-bar 的值未更新 onProgress

java - 创建 pi(x) 表

java - 使用类名 Java 获取对象的引用

java - 为什么在 web.xml 中标记为 CONFIDENTIAL 的 URL 没有被 HttpServletResponse.encodeURL() 使用 HTTPS 重写?

java - 字符串标记器问题

java - 在 TFS 中使用 Jenkins TFS 插件?