Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> не работает join 
:(
    Опции темы
redwhite90
Дата 13.1.2013, 02:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 332
Регистрация: 14.7.2011

Репутация: нет
Всего: нет



Я наверное не понимаю как join должен работать:
например в каком то потоке(скажем main thread) вот такой код написан:
Код

t1.start();
t1.join();
System.out.println("это должно вывестись после завершения потока t1");

то вывод сообщения должен произойти всяко после завершения потока t1. но у меня это правило не соблюдается. В чем я не прав?
PM MAIL   Вверх
Pawl
Дата 13.1.2013, 19:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 649
Регистрация: 22.4.2008
Где: Витебск

Репутация: 7
Всего: 28



Цитата(redwhite90 @  13.1.2013,  02:40 Найти цитируемый пост)
В чем я не прав?

Вы, безусловно, правы. join() действительно не дает работать потоку main до окончания выполнения потока t1. Смотрите логику Вашего кода в целом. Вот простейший пример работы join():
Код

public class TestJoin {
    public static void main(String[] args) throws Exception{
        Thread t1 = new Thread() {
         public void run() {
             for (int i = 0; i < 10; i++) {
                 System.out.println(i);
             }
         }
        };
        t1.start();
        t1.join();
        System.out.println("это должно вывестись после завершения потока t1");
    }
}

уберите t1.join(), и сообщение будет выводиться где попало, иначе - только после отработки цикла в run.


--------------------
В действительности всё совсем не так, как на самом деле
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
javastic
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0506 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.