-3

我有一点功课,想要一点帮助。我试图让我的计算机一次同时计算 5 个总和。我知道我应该使用线程,但不确定实现这一点的最佳方法。

抱歉没有在这里发布代码是我到目前为止所拥有的。

主要的:

package CoddingEx;

public class Main
{
    public static void main(String args[]) {
        (new Thread1()).start();
        (new Thread2()).start();
    }
}

线程1:

package CoddingEx;
public class Thread1 extends Thread {

    public void run() {
        int answer = 0;
        int input = 5;

        answer = input*5;
        System.out.println("Value of calculation 1: " + answer);
    }

}

线程2:

package CoddingEx;

public class Thread2 extends Thread {

    public void run() {
        int answer = 0;
        int input = 5;

        answer = input/5;
        System.out.println("Value of calculation 2: " + answer);
    }

}

这些是前 2 个计算,将坚持使用这 2 个,直到我确定这是正确的方法。我的目标是让所有线程同时计算和完成。

谢谢

4

2 回答 2

2

如果您使用的是 JDK 7+,则应使用 Fork/Join 框架。我用过它,它的主要优点是可扩展性,你可以学习如何并行思考。此外,与 F/J 框架相比,线程似乎是低级的。

有关它的详细信息:http: //gee.cs.oswego.edu/dl/papers/fj.pdf

起点:http ://www.vogella.com/articles/JavaConcurrency/article.html

于 2013-11-04T12:15:09.043 回答
1

您需要创建一个自定义线程,它接受要加在一起的数字。在run()你做加法并将总和存储在某处。

由于您需要五个线程,因此您需要创建此线程的五个实例并调用start()它们。

于 2013-11-04T12:09:51.210 回答