【文件属性】:
文件名称:多线程leetcode-syncx:Go中更高级的同步原语
文件大小:12KB
文件格式:ZIP
更新时间:2021-06-30 08:17:31
系统开源
多线程leetcode
同步
更高级的同步原语。
实现了一些
Go
同步原语。
令牌
提供令牌实现。
只有拥有Token才能做事,然后才能将令牌移交给其他人。
批
提供批量实现。
类似于errgroup
,可以返回每个任务的所有错误结果。
任何
提供部分批处理实现。
您可以等待一些任务完成并返回。
支架
提供
pub-sub(observer)
模式。
例子
使用syncx解决
:
:
:
其他高级同步原语
:
提供重复函数调用抑制
:
为处理共同任务的子任务的
goroutine
组提供同步、错误传播和上下文取消
:
提供加权信号量实现
【文件预览】:
syncx-master
----.travis.yml(333B)
----stentor.go(1KB)
----token.go(1KB)
----batch_test.go(572B)
----LICENSE(11KB)
----stentor_test.go(689B)
----any_test.go(683B)
----.gitignore(269B)
----batch.go(2KB)
----go.sum(2KB)
----README.md(2KB)
----g.go(133B)
----token_test.go(948B)
----any.go(2KB)
----go.mod(157B)