package
0.0.0-20241225174012-7a0820eadc6a
Repository: https://github.com/chtonad0000/golang.git
Documentation: pkg.go.dev

# README

batcher

*slow.Value - это аналог atomic.Value, с двумя ограничениями:

  • Вызов Load() всегда занимает не меньше 1ms
  • Нельзя делать больше одного вызова Load() в один момент времени.

Реализуйте *Batcher, который оборачивает *slow.Value и ускоряет чтения за счёт батчинга.

Например, если 1000 горутин одновременно сделают вызов (*Batcher).Load(), то можно прочитать значение один раз и раздать всем ожидающим горутинам. Это будет в 1000 раз быстрее, чем вызвать (*slow.Value).Load() напрямую в каждой горутине.

Ваша реализация не должна создавать stale read. То есть, Load() всегда должен возвращать значение не старее последнего Store() на момент начала вызова Load().

# Packages

No description provided by the author

# Functions

No description provided by the author

# Structs

No description provided by the author