HOME    FORUMS    MEMBERS    RECENT POSTS    LOG IN  
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > ПРОГРАММИРОВАНИЕ > С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby
   
 
 
Опции темы Поиск в этой теме Опции просмотра

  #10  
Старый 22.12.2009, 17:22
n4e/\@
Участник форума
Регистрация: 06.05.2008
Сообщений: 161
Провел на форуме:
1289087

Репутация: 59
По умолчанию

Разбираю пример из книжки по java
Есть следующий код:
Код:
class NewThread implements Runnable {
    String name;
    Thread t;
    NewThread( String threadname ) {
        name = threadname;
        t = new Thread( this, name );
        System.out.println("Новый поток: " + t);
        t.start();
    }
    public void run() {
        try {
            for ( int i = 5; i > 0; i-- )
            {
                System.out.println(name + ": " + i);
                Thread.sleep(1000);
            }
        } catch (InterruptedException e) {
            System.out.println( name + " прерван");
        }
        System.out.println(name + " завершен");
    }
}

class DemoJoin {
    public static void main(String args[]) {
        NewThread ob1 = new NewThread("Один");
        NewThread ob2 = new NewThread("Два");
        NewThread ob3 = new NewThread("Три");
        System.out.println("Поток один запущен: " + ob1.t.isAlive() );
        System.out.println("Поток два запущен: " + ob2.t.isAlive() );
        System.out.println("Поток три запущен: " + ob3.t.isAlive() );
        try {
            System.out.println("Ожидание завершение потоков.");
            ob1.t.join();
            ob2.t.join();
            ob3.t.join();
        }catch ( InterruptedException e ) {
            System.out.println("Главный поток прерван");
        }

        System.out.println("Поток один запущен: " + ob1.t.isAlive() );
        System.out.println("Поток два запущен: " + ob2.t.isAlive() );
        System.out.println("Поток три запущен: " + ob3.t.isAlive() );
        System.out.println("Главный поток завершен.");
    }
}
Почему отрабатывается метод run, ведь он не где в коде не запускается?
 
Ответить с цитированием
 



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Обсуждение темы. Форум - Faq. Вопросы и Ответы. Егорыч+++ Правила форума 55 16.06.2010 01:07
Форум - Faq. Вопросы и Ответы. Егорыч+++ Правила форума 0 07.06.2008 18:52
Мультимедийные Обучающие Курсы TeachPro Java VenTeL ПО для Web разработчика 8 24.04.2008 15:38



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ