/ / Вбити потік у java через певний час - java, багатопоточність, twitter, twitter4j

Вбити нитку в java через певний час - java, multithreading, twitter, twitter4j

У мене є варіант використання, наведений нижче (у JAVA)

Я отримую запит від клієнта

Наприклад: Виконайте завдання з потоковою передачею в Twitter до цієї дати.

  • Завдання = твітер потокового передавання
  • Ключові слова = {"#Today", "#apple"}
  • Час = до 5 лютого 2017 року

Що я роблю, Я відкриваю новий потік на кожному запиті, який я отримую, і запускаю своє завдання, яке полягає в потоковій передачі твітів та збереженні їх у базі даних.

Що я хочу зробити, це тему, яка повинна припинити трансляцію і повинна бути вбита після цієї дати (5 лютого).

Як я можу реалізувати цей тип використання?

Відповіді:

1 для відповіді № 1

Ви можете скористатись Calendar клас і перевірте, що напр.

Calendar c = Calendar.getInstance(TimeZone.getTimeZone(ZoneId.of("CET")));
c.set(Calendar.MONTH, 1)
c.set(Calendar.DAY_OF_MONTH, 5)
c.set(Calendar.HOUR_OF_DAY, 23);
c.set(Calendar.MINUTE, 59);
c.set(Calendar.SECOND, 59);
c.set(Calendar.MILLISECOND, 999);

while(true){
Calendar cal = Calendar.getInstance(TimeZone.getTimeZone(ZoneId.of("CET")));
if(cal.getTime().after(c.getTime()) return;
}