Возможно ли управление скоростью мотора без использования потенциометра?
public static void main(String[] args) {
Runtime.getRuntime().addShutdownHook(new Thread(() -> {
Thread.getAllStackTraces().keySet().stream()
//Не стоит останавливать поток в котором отрабатывает хук, а тем более пытаться заджойниться
.filter(thread -> !thread.equals(Thread.currentThread()))
//Демоны предполагают безопасное завершение в любой момент, останавливать их не нужно
.filter(thread -> !thread.isDaemon())
//Устанавливаем флаг "interrupt" для всех остальных
.peek(Thread::interrupt)
.peek(thread -> System.out.println(thread.getClass()))
.forEach(thread -> {
try {
thread.join(); //Ждем завершения всех потоков, которым установлен флаг "interrupt"
} catch (InterruptedException e) {
// ...
}
});
}));
while (true) {
try {
Thread.sleep(100);
} catch (InterruptedException e) {
System.out.println("Thread was interrupted once");
//После перехвата исключения флаг "interrupt" возвращается в исходное состояние, поэтому его нужно установить снова
Thread.currentThread().interrupt();
break;
}
}
while (true) {
try {
Thread.sleep(100); // Мы бы зависли здесь, если бы не установили флаг "interrupt" повторно
} catch (InterruptedException e) {
System.out.println("Thread was interrupted");
Thread.currentThread().interrupt();
break;
}
}
while (!Thread.currentThread().isInterrupted()) {
doSomeUninterruptableWork();
}
}
источникДанных
.мап(созданиеСтруктуры)
.фильтр(текущаяЗапись => СписокТребуемыхНомеров.содержит(текущаяЗапись.телефон)
&& текущаяЗапись.дата<>требуемыйИнтервал)