Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / потоки / 2 сообщений из 2, страница 1 из 1
13.01.2007, 16:32:30
    #34253518
q2q
q2q
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
потоки
имееться класс
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
 class  Punct  extends  Thread {

 public   void  redrawPunct() {
        g.setColor(colors[clrIndex]);
        g.fillRect( 0 , y, width, punctHeight);
        g.setColor(Color.BLACK);
        g.drawRect( 0 , y, width, punctHeight);
    }

     public   void  run() {
        clrIndex =  4 ;
         while  (clrIndex !=  0  && !interrupted()) {
            clrIndex--;
            redrawPunct();
             try  {
                 this .sleep( 1000 );
            }  catch  (InterruptedException e) {
                Thread.currentThread().interrupt();
            }

        }
         return ;

    }
}

после вызова метода start() выполняеться run() и состояние потока Punct может быть NEW,RUNNABLE,TIMED_WAITING,TERMINATED.
подскажите пожалуйста .. как мне правильно можно было перезапустить поток в любой момент времени ... то есть при всех, вышеперечисленных состояниях потока....
...
Рейтинг: 0 / 0
15.01.2007, 17:43:44
    #34256644
Anarion
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
потоки
авторпри всех, вышеперечисленных состояниях потока....
Это совершенно разные состояния, которые связаны друг с другом очень мало. Для начала, почитай Java Tutorial по coucurrent.

New - это новый поток, который не запущен. Соответственно - Thread.start();
Runnable - работающий поток, который нет смысла убивать и создавать заново. Поэтому просто делаешь инит-блок, который запускаешь. Как-то так
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
 while  (running){
init();
nonRestart=true;
 while (nonRestart){
doSome();
}
}
 void  restart(){
nonRestart=false;
}

TIMED_WAITING - это, вроде бы, sleep(). Хз, не помню. Вроде бы, пока он не отоспится, его нельзя дернуть.

TERMINATED - Тоже хз. Врогде бы только создать новый.
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / потоки / 2 сообщений из 2, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]