TimerTasks в качелях - PullRequest
       13

TimerTasks в качелях

1 голос
/ 19 октября 2010

Я пытаюсь написать приложение для подтверждения сообщений, в котором мне нужно: a) Добавить каждое новое сообщение в очередь сообщений.Просто используя Arraylist для создания очереди сообщений.b) Уведомить таймерную задачу о том, что сообщение должно получить подтверждение в течение 50 секунд, поэтому переведите его в спящий режим на 50 секунд или проснитесь при получении подтверждения.

Как лучше всего это реализовать?

Спасибо

Ответы [ 2 ]

1 голос
/ 20 октября 2010

Я не совсем понимаю, каковы ваши потребности.Какое это имеет отношение к Swing или таймерам?С какой нитью вы тут сталкиваетесь?Я сделаю некоторые предположения и предложу пару вещей.

Звучит так, как будто вы хотите поместить сообщение в очередь, а затем подождать, пока ответ не будет получен, или максимум 50 с.Вы должны проверить BlockingQueue .Это потокобезопасно, и вы можете подождать определенное количество времени, пока другой поток что-то добавит в него.Похоже, что это может быть полезно для сообщения / подтверждения проблемы.

BlockingQueue<MSG> queue = new LinkedBlockingQueue<MSG>();

// put a message in the queue
queue.put( msg );

// have a thread wait on the queue until something is available in it
MSG msg = queue.poll( 50, TimeUnit.SECONDS );

Мне нужна более подробная информация о вашей проблеме для получения более конкретной помощи.

0 голосов
/ 19 октября 2010

я думал, что вы хотели бы иметь какой-то механизм, где требуется обновление через определенные промежутки времени, вы можете использовать поток и установить режим ожидания согласно интервалу, например:

public void run() {

    while (Start == true) {
        getMessage();      //yourmethod();
        try {
            Thread.sleep(50);
        } catch (InterruptedException ie) {
            stop();
        }
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...