Сообщество разработчиков Java Scala Kotlin Groovy Clojure Чат для нач-их: @javastart Наш канал: @proJVM Вакансии: @jvmjobs @jvmjobschat ⚠️ Оффтоп -> @flood ❌Переход на личности ❌Троллинг ❌Реклама ❌HH (вакансии) ❌Варез
В плане, если у тебя индекс будет (title, author)
то просто по автору не получится искать
В плане? Ну да индекс может быть из двух колонок.
Вы индекс и праймери кей не путаете?
Сделали ФП ЯП поверх Голанг vm, как Scala или Clojure поверх java jvm
Читать полностью…Я как-то делал похожее на то, что тебе нужно с помощью неблокирующих очередей в комбинации с BooleanLatch. У меня было много потоков обновляющих очереди, один поток читающий в цикле эти очереди и передающий в экзекутор на исполнение. Те кто пополнял очереди, выставлял latch в позитивное значение, читающий сбрасывал его и блокировался на нем. Но забыл я почему именно этот латч выбирал, но помню, что до этого изменения очереди в цикле читались нон-стоп и подскочила утилизация цпу у одного из клиентов.
Читать полностью…тут видится вопрос что хочется разгрузить, консумеров или продьюсеров. Изза этого лок можно сместить или упрятать за чек раз в N на локе как в обычном синхроне
Читать полностью…Так а как это спасет-то от TOCTOU? Вот он посмотрел в какой-то индикатор, индикатор ему сказал, что ничего нет, после этого он уходит в блок и ожидание сигнала. Но если сигнал пришел между проверкой индикатора и блокированием, то он потерян, и тред будет заблокирован до следующего сигнала.
Читать полностью…так оно может когда угодно быть (это если вообще в очередь кто-то что-то докинет), а элемент уже доступен
Читать полностью…Можно конечно сдвоенный индекс для запросов где оба условия
Читать полностью…Зависит от ьипа индекса. Но все же это эффективней чем фулскан таблицы. Ну и оьычно там норм дерево собираеться
Читать полностью…Этих новых япов куча.
Если нужна компиляция в натив и поддержка дкларативности с пайплайн программинг, то берут Rust, всё остальное не понятно для чего
Синтаксис очень похож на хачкель, я не спец но по мне почти один в один
Читать полностью…Я делал так: обычная ConcurrentQueue, основной тред укладывает туда задания, другие треды (у меня было фиксированное кол-во) забирают их и исполняют. Всё просто и незатейливо. Не то?
Читать полностью…Сейчас башка особо не варит, и там надо ещё посмотреть, что будут делать консюмеры, не доходящие до синхронизированной части, но с атомарными публикациями выглядит что может сработать, если паблишер всегда под тем же монитором. Про последнее я как-то не думал.
Читать полностью…- T1 outstanding -> 0
- T1 tear point
- T2 publish()
- T2 outstanding <- 1
- T2 signal()
- T1 tear point recovery
- T1 wait()
ну смотри, у тебя ли двух этапный мьют либо двухътапный размьют
Читать полностью…значит достаточно на приходе сигнала сделать доп действие чтобы размьютить второй поток
Читать полностью…так если это уже не хеппи пас то там семафор или синхронайзд или дабл чек на локе объекте
Читать полностью…ну так если он повис на вейте, то его разбудит следующее событие нотифая
Читать полностью…