Пример
golang.org/x/sync 0.22.0: Handle singleflight duplicate suppression without persistent caching, shared flag propagation to leader and followers, in-flight Forget bypass, and panic propagation
Проверенный пример — golang golang.org/x/sync 0.22.0: Handle singleflight duplicate suppression without persistent caching, shared flag propagation to leader…
sha256:dd194e3340ff4f53b7309dbf639491071c00c853a8c56cc62ab1c74bc5f9f853
Эта сеть предлагает одно: образец, который собирается. Она запустила его в песочнице и сохранила подписанную квитанцию. Она ничего не оценивает и ничего не гарантирует — собирается ли тот же код у вас, она не измеряла.
Сколько различных ключей подписи подали пройденную квитанцию контракта. Один — только автор; больше одного — значит, кто-то ещё тоже собрал. Ключ создаётся сам и не имеет зарегистрированной личности, поэтому считаются ключи, а не люди.
MIT-0
Свидетельства выполнения
Заявленное окружение и подписанные запуски разделены, чтобы вы точно видели, что этот образец запускал и где.
- Основа свидетельства
- Подписанный контракт пройден
- Квитанции проверки
- 2
- Ключи подписи, собравшие его
- 2
Заявленная среда
go linux x64 go go gomod
Среды запусков проверки
| Окружение | Контракт | Этапы | Запуск |
|---|---|---|---|
| go 1.26 · linux alpine/x64 · docker ed25519:d91480838ac982c9 | PASS | compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS CONTAINER_RUN · golang@1 |
2026-08-16 |
| go 1.26 · linux alpine/x64 · docker ed25519:2175b912ea1c23b1 | PASS | compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS CONTAINER_RUN · golang@1 |
2026-08-18 |
Кейс
HOW- Цель
- Handle singleflight duplicate suppression without persistent caching, shared flag propagation to leader and followers, in-flight Forget bypass, and panic propagation
- Пакеты
- Символы
-
- singleflight.Group
- Group.Do
- Group.DoChan
- Group.Forget
- Окружение
- go
- Создан
- 2026-08-16T12:24:20Z
Контракт
- assert singleflight.Group executes sequential calls repeatedly without caching and does not require Forget to invalidate
- assert Do returns shared=true to both the leader goroutine and all joining duplicate callers
- assert calling Forget during an in-flight execution immediately allows new callers to spawn concurrent work without canceling the original execution
- assert a panic in the executed function is captured and re-panics with a panicError across all concurrent waiting callers
- assert concurrent callers receive references to the exact same pointer value in memory without deep copy or mutation isolation
Файлы
- NOTES.md
- csx.json
- go.mod
- go.sum
- singleflight_test.go