双11狂欢大促

盲盒赢 定制羽绒服

开启惊喜盲盒,抽取你的专属好礼

— 惊喜奖品抢先看 —

java多线程获取数据问题

m0_57396996 m0_57396996 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
代码已经搞完,但是想知道在一个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++;
}
}
}
}
}
上述标红的这段能否实现?
...全文

相关推荐

评论
收藏 已收藏
分享
返回顶部
m0_57396996
Java 51,407 成员 86,133 内容