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++;
}
}
}
}
}
上述标红的这段能否实现?
例如:
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++;
}
}
}
}
}
上述标红的这段能否实现?
...全文
相关推荐
java远程获取数据_java工程
java远程获取数据_java工程
java多线程编程之向线程传递数据的三种方法
在多线程的异步开发模式下,数据的传递和返回和同步开发模式有很大的区别。由于线程的运行和结束是不可预料的,因此,在传递和返回数据时就无法象函数一样通过函数参数和return语句来返回数据
Java多线程工具篇BlockingQueue的详解
今天小编就为大家分享一篇关于Java多线程工具篇BlockingQueue的详解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
Java多线程下载器范例
Java多线程下载文件,线程数可自定义。 RandomAccessFile的巧妙运用。
用JAVA实现缓冲多线程无阻塞读取远程文件.doc
用JAVA实现缓冲多线程无阻塞读取远程文件.doc



