Кто-нибудь знает, почему нить не начинается сразу? то есть, 10 мин, 20 .. Тема не начинай ... регистратор просто декоратор для Java Logger ...java Thread не работает после 15 минут
вот код начала:
....
log.info("client streams prepared");
messagelistener = new Thread(new Listener(input, this));
messagelistener.start();
log.info("Connection prepared");
....
и начал слушатель
public class Listener implements Runnable {
private final MyLogger logger = MyLogger.getLogger();
private final ObjectInputStream input;
private final Connection connection;
public Listener(ObjectInputStream input, Connection callback) {
connection = callback;
this.input = input;
logger.info("Listener created");
}
@Override
public void run() {
logger.info("listener thread in connection with "+ connection.getUser().getDisplayName() + " is started");
//.....samecode
logger.info("listener thread in connection with "
+ connection.getUser().getDisplayName() + " is stopped");
}
}
журналы:
2013-07-29 22:36:58 MyLogger info INFO: client streams prepared
2013-07-29 22:36:58 MyLogger info INFO: Listener created
2013-07-29 22:36:58 MyLogger info INFO: Connection prepared
в печати увидеть информацию до начала и после старта, но не го первая строка метода запускается, и прошло более 10 минут с момента запуска, система не загружена, я не понимаю, почему она не работает? Кто-то может объяснить мне, что я делаю неправильно?
замените logger.info на System.out.println, чтобы проверить его. – SSpoke
Можете ли вы показать нам весь метод, включая объявление, в котором создается слушатель. Также мы можем увидеть объявление для 'Connection # getUser() '? Возможно ли, что у вас есть тупик? Может быть, 'getUser()' является 'synchronized', а также метод создания? – msandiford