/
alexsm
/
ipj
Обзор
Документация
Войти
/
alexsm
/
ipj
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
examples/Signaler.java
41 строка
941 B
alexsm
perf: Implement the serverless solution
08 июл 2026, 02:29
08 июл 2026, 02:29
eb3b36c
Код
Авторство
О чём код?
public class Signaler { private enum SignalMode { ALL, ONE } public static void main(String[] args) { if (args.length > 1) { System.err.println("usage: Signaler <mode([all]|one)>"); System.exit(1); } final var signalMode = args.length > 0 ? parseSignalMode(args[0]) : SignalMode.ALL; final var lock = new ipj.Lock("Hello"); try { synchronized (lock) { switch (signalMode) { case SignalMode.ONE: lock.signal(); break; case SignalMode.ALL: lock.signalAll(); break; default: break; } } } catch (Exception e) { e.printStackTrace(); } } private static SignalMode parseSignalMode(String modeString) { final var lowerCaseMode = modeString.toLowerCase(); if ("all".startsWith(lowerCaseMode)) return SignalMode.ALL; if ("one".startsWith(lowerCaseMode)) return SignalMode.ONE; throw new RuntimeException(modeString + ": unknown signal mode"); } }