Спотывать заснутьJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Спотывать заснуть

Сообщение Anonymous »

У меня проблема с Java. Я хотел бы написать программу, в которой есть Main Class, которая имеет ArrayList of Threads некоторых классов (задача класса), которая просто пишет письмо и номер. Object Main просто разбудит одну поток от ArrayList и пусть он делает что -то, в то время как один и тот же объект (Main) спит еще один. /> Но только если я прокомментирую:
e.printstacktrace () e Exception
, затем
i получаю много
java.lang.illegalmonitorstateexception
at java.lang.object.notify (натив)
at main.run (main.java:12222) < /p> p> p> p> p> p> p> p> p> p> p> p> p> p> p> p> p> p> p> p> perma at method at main.run (main.java: aobject.notify. Уведомление работает неправильно, как я должен правильно разбудить, скажите, пожалуйста, покажите, правильно. Пожалуйста, < /p>

import java.util.ArrayList;

import java.util.ArrayList;

public class Main extends Thread {
ArrayList threads;

public Main() {
super();
threads = new ArrayList();
}

public void run() {
for (int i = 0; i < 3; i++) {
threads.add(new Thread(new Task(i + 65)));
}
long cT = System.currentTimeMillis();
for (int i = 0; i < threads.size(); i++) {
threads.get(i).start();
}
while (System.currentTimeMillis() - cT < 10000) {
for (int i = 0; i < threads.size(); i++) {
try {
threads.get(i).notify();
// HOW TO WAKE THREAD FROM threads ArrayList
Thread.sleep(1000);
// how to put to bed the same thread ?
threads.get(i).wait();
} catch (Exception e) {
e.printStackTrace();
}
}
}

}

public static void main(String[] args) {
new Main().start();
//new Thread(new Task(65)).start();

}

}
< /code>

h < /p>

public class Task implements Runnable {
int nr;
char character;

public Task(int literaASCII) {
this.nr = 0;
character = (char) (literaASCII);
}

@Override
public void run() {
while (true) {
try {
System.out.print(nr + "" + character + ", ");
nr++;
int r = (int) ((Math.random() * 500) + 500); //

Подробнее здесь: https://stackoverflow.com/questions/105 ... e-to-sleep
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»