Совершенно новичок в Java, однако мне нужно как-то заставить это работать. Я надеюсь, что вы, ребята, можете направить меня на правильный путь.
Программа должна создать N потоков и массив из N элементов. Первый поток должен записать случайное число в массив (здесь — resultArray
), вызвать (или создать) следующий поток (который будет делать то же самое) и спать до тех пор, пока последний поток не уведомит все остальные спящие потоки. .
Итак, я делаю это правильно до сих пор? Как я могу сделать run()
доступ к массиву результатов демонстрации и записать в него случайное число потока? Кроме того, как run()
может связаться с другими потоками (из threadList
), чтобы уведомить их?
Благодарю вас.
public class gijos extends Thread {
private int length;
private int position;
public gijos(int arrPos) {
position = arrPos;
}
public int getPosition(){
return position;
}
public void run() {
Random rand = new Random();
int n = rand.nextInt(51) + 1;
}
public class demo {
public static void main (String[] args) {
System.out.println("Array length / thread count:");
Scanner s = new Scanner(System.in);
int N = s.nextInt();
int[] resultArray = new int[N];
gijos[] threadList = new gijos[N];
for(int i = 0; i < N; i++){
threadList[i] = new gijos(i);
}
}
}
main
? тогда он будет доступен с помощью run() какdemo.resultArray
? - person GytisK   schedule 24.10.2014