我编写的一段代码,基本上已经实现多线程求和可是没办法返回每个线程求和之后得出的值我的目的毕竟是求总的和,不是每个线程的和importjava.io.*;classtestthreadextendsThread{intb[...
我编写的一段代码,基本上已经实现多线程求和
可是没办法返回每个线程求和之后得出的值
我的目的毕竟是求总的和,不是每个线程的和
import java.io.*;
class testthread extends Thread
{ int b[]=null;
public testthread(int[] a){b=a;}
public void run()
{int sum=0;
for (int i = 0; i
{
sum=sum+b[i];
}
System.out.println(sum);
}
}
public class thread {
/**
* @param args
*/
public static void main(String args[]) {
// TODO 自动生成方法存根
try{
System.out.print("输入线程数 p(p>=2):");
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
String A=(String)br.readLine();
int p=Integer.parseInt(A);
System.out.print("输入求和数 n:");
BufferedReader cr=new BufferedReader(new InputStreamReader(System.in));
String B=(String)cr.readLine();
String x[] = B.split(" ") ;
int[] n = new int[x.length] ;
for (int i = 0; i
{
n[i] = new Integer(x[i]).intValue() ;
}
int c=n.length/p;
int a[][]=new int[p][c]; //定义一个多维数组
int b=0;
for(int i=0;i
for(int j=0;j
{a[i][j]=n[b];b++;}
for(int i=0;i
{for(int j=0;j
{System.out.print(a[i][j]+" "); }
System.out.println();
}
for(int i=0;i
new testthread(a[i]).start();
}catch(IOException e){}
}
}
展开