java多线程获取数据问题
代码已经搞完,但是想知道在一个java程序中,能否自定义数据,将数据传到线程中让线程运行。
例如:
import java.util.*;
import java.util.ArrayList;
import java.util.Scanner;
/*class shuru{
public static void main(String[] args){
Scanner sc= new Scanner(System.in);
System.out.print("请输入线程数量,按回车结束");
int n=sc.nextInt();
System.out.print("请输入卷子数量,按回车结束");
int T=sc.nextInt();}
}*/
public class shareThread implements Runnable{
public static void main(String[] args){
Scanner sc= new Scanner(System.in);
System.out.print("请输入线程数量,按回车结束");
int n=sc.nextInt();
System.out.print("请输入卷子数量,按回车结束");
int T=sc.nextInt();}
//public static int n = 10000; //数组内数字的数量
//public static int T = 5; //线程数
public static int[] ary = new int[n];
public static int[] newAry = new int[n]; //排序后的数组
//线程运行
public void run(){
//System.out.println(ary[i]);
//System.out.println(Thread.currentThread().getName());
synchronized(shareThread.class){
for(int i = 1; i <= T; i++){
if(Thread.currentThread().getName().equals("thread"+i)){
int[] newArray= work(i);
int count = n/T *(i-1);
for(int j = 0;j<newArray.length;j++){
newAry[count] = newArray[j];
//System.out.println(++count);
//System.out.print(newArray[j]+ " ");
//System.out.println(newAry[count] + "");
count++;
}
}
}
}
}
上述标红的这段能否实现?