Size: a a a

2020 November 17

AG

Anton Gor in learn.java
... ...
Псевдо-код:
// авто стало в очередь
new Thread(() -> {
   long start = System.currentTimeMillis();
   int maxWait = 10_000;
   long end = start+maxWait;
   while (true) {
       if (isFree) {park(); break;} // если освободилось место, то припарковаться
       if (System.currentTimeMillis() > end) {finishStandingInTurn(); break;} // если авто ждет слишком долго, то уходим из очереди
       Thread.sleep(300); // задержка, чтобы проверял каждые 0.3 секунды
   }
}).start();
у меня тут есть вопрос
источник

AG

Anton Gor in learn.java
метод куренттайммиллис он время какого потока находит?
источник

AG

Anton Gor in learn.java
того который основной?
источник

SS

Slava S in learn.java
Anton Gor
там правда что касается многопоточности то так себе объяснено
тут выглядит так, что каждая машина это условно свой поток.
источник

AG

Anton Gor in learn.java
я знаю
источник

AG

Anton Gor in learn.java
я ж говорю
источник

SS

Slava S in learn.java
ну и размещение можно сделать bool tryPark(n); и Release(n)
источник

AG

Anton Gor in learn.java
реализовал парковку но без ожидания
источник

..

... ... in learn.java
Anton Gor
метод куренттайммиллис он время какого потока находит?
Он отдает время вне зависимо от потока.
источник

SS

Slava S in learn.java
без нотификаций со слипами так себе решение
источник

AG

Anton Gor in learn.java
Slava S
без нотификаций со слипами так себе решение
тут семафор нужен
источник

SS

Slava S in learn.java
Anton Gor
тут семафор нужен
ой не факт
источник

DS

Dmitriy Shilnikov in learn.java
Slava S
ой не факт
Инфа 100%
источник

SS

Slava S in learn.java
с чего это?
источник

SS

Slava S in learn.java
чем int не устроит с атомарными действиями
источник

SS

Slava S in learn.java
семафор нужен если его кто-то  будет читать вне процесса
источник

SS

Slava S in learn.java
источник

DS

Dmitriy Shilnikov in learn.java
У семафора готовый метод tryAcquire с таймаутом. Это решает задачу.
источник

SS

Slava S in learn.java
перфоманс посмотрите
источник

SS

Slava S in learn.java
это хождение каждый раз в ядро
источник