Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
Vladimir Barsukov
zGo
Commits
287bee75
Commit
287bee75
authored
Jul 28, 2025
by
Vladimir Barsukov
Browse files
zsem
parent
f9bb25cf
Changes
4
Hide whitespace changes
Inline
Side-by-side
go.mod
View file @
287bee75
...
...
@@ -5,30 +5,31 @@ go 1.24
require (
github.com/aws/aws-sdk-go
v1.55.7
github.com/georgysavva/scany/v2
v2.1.4
github.com/gin-gonic/gin
v1.10.
0
github.com/gin-gonic/gin
v1.10.
1
github.com/go-co-op/gocron
v1.37.0
github.com/goccy/go-json
v0.10.5
github.com/google/uuid
v1.6.0
github.com/jackc/pgx/v5
v5.7.
4
github.com/jackc/pgx/v5
v5.7.
5
github.com/patrickmn/go-cache
v2.1.0+incompatible
golang.org/x/exp
v0.0.0-20250408133849-7e4ce0ab07d0
golang.org/x/exp
v0.0.0-20250718183923-645b1fa84792
golang.org/x/sync
v0.16.0
)
require (
github.com/bytedance/sonic
v1.1
3.2
// indirect
github.com/bytedance/sonic/loader
v0.
2.4
// indirect
github.com/bytedance/sonic
v1.1
4.0
// indirect
github.com/bytedance/sonic/loader
v0.
3.0
// indirect
github.com/cloudwego/base64x
v0.1.5 // indirect
github.com/gabriel-vasile/mimetype
v1.4.9 // indirect
github.com/gin-contrib/sse
v1.1.0 // indirect
github.com/go-playground/locales
v0.14.1 // indirect
github.com/go-playground/universal-translator
v0.18.1 // indirect
github.com/go-playground/validator/v10
v10.2
6
.0 // indirect
github.com/go-playground/validator/v10
v10.2
7
.0 // indirect
github.com/jackc/pgpassfile
v1.0.0 // indirect
github.com/jackc/pgservicefile
v0.0.0-20240606120523-5a60cdf6a761 // indirect
github.com/jackc/puddle/v2
v2.2.2 // indirect
github.com/jmespath/go-jmespath
v0.4.0 // indirect
github.com/json-iterator/go
v1.1.12 // indirect
github.com/klauspost/cpuid/v2
v2.
2.1
0 // indirect
github.com/klauspost/cpuid/v2
v2.
3.
0 // indirect
github.com/leodido/go-urn
v1.4.0 // indirect
github.com/lib/pq
v1.10.9 // indirect
github.com/mattn/go-isatty
v0.0.20 // indirect
...
...
@@ -37,14 +38,13 @@ require (
github.com/pelletier/go-toml/v2
v2.2.4 // indirect
github.com/robfig/cron/v3
v3.0.1 // indirect
github.com/twitchyliquid64/golang-asm
v0.15.1 // indirect
github.com/ugorji/go/codec
v1.
2.12
// indirect
github.com/ugorji/go/codec
v1.
3.0
// indirect
go.uber.org/atomic
v1.11.0 // indirect
golang.org/x/arch
v0.16.0 // indirect
golang.org/x/crypto
v0.37.0 // indirect
golang.org/x/net
v0.39.0 // indirect
golang.org/x/sync
v0.13.0 // indirect
golang.org/x/sys
v0.32.0 // indirect
golang.org/x/text
v0.24.0 // indirect
golang.org/x/arch
v0.19.0 // indirect
golang.org/x/crypto
v0.40.0 // indirect
golang.org/x/net
v0.42.0 // indirect
golang.org/x/sys
v0.34.0 // indirect
golang.org/x/text
v0.27.0 // indirect
google.golang.org/protobuf
v1.36.6 // indirect
gopkg.in/yaml.v3
v3.0.1 // indirect
)
go.sum
View file @
287bee75
github.com/aws/aws-sdk-go
v1.55.7 h1:
UJrkFq7es5CShfBwlWAC8DA077vp8PyVbQd3lqLiztE=
github.com/aws/aws-sdk-go
v1.55.7/go.mod h1:
eRwEWoyTWFMVYVQzKMNHWP5/RV4xIUGMQfXQHfHkpNU=
github.com/bytedance/sonic
v1.1
3.2
h1:
8/H1FempDZqC4VqjptGo14QQlJx8VdZJegxs6wwfqp
Q=
github.com/bytedance/sonic
v1.1
3.2
/go.mod h1:
o68xyaF9u2gvVBuGHPlUVCy+ZfmNNO5ETf1+KgkJhz4
=
github.com/bytedance/sonic
v1.1
4.0
h1:
/OfKt8HFw0kh2rj8N0F6C/qPGRESq0BbaNZgcNXXzQ
Q=
github.com/bytedance/sonic
v1.1
4.0
/go.mod h1:
WoEbx8WTcFJfzCe0hbmyTGrfjt8PzNEBdxlNUO24NhA
=
github.com/bytedance/sonic/loader
v0.1.1/go.mod h1:
ncP89zfokxS5LZrJxl5z0UJcsk4M4yY2JpfqGeCtNLU=
github.com/bytedance/sonic/loader
v0.
2.4
h1:
ZWCw4stuXUsn1/+zQDqeE7JKP+QO47tz7QCNan80NzY
=
github.com/bytedance/sonic/loader
v0.
2.4
/go.mod h1:
N8A3vUdtUebEY2/VQC0MyhYeKUFosQU6FxH2JmUe6VI=
github.com/bytedance/sonic/loader
v0.
3.0
h1:
dskwH8edlzNMctoruo8FPTJDF3vLtDT0sXZwvZJyqeA
=
github.com/bytedance/sonic/loader
v0.
3.0
/go.mod h1:
N8A3vUdtUebEY2/VQC0MyhYeKUFosQU6FxH2JmUe6VI=
github.com/cloudwego/base64x
v0.1.5 h1:
XPciSp1xaq2VCSt6lF0phncD4koWyULpl5bUxbfCyP4=
github.com/cloudwego/base64x
v0.1.5/go.mod h1:
0zlkT4Wn5C6NdauXdJRhSKRlJvmclQ1hhJgA0rcu/8w=
github.com/cloudwego/iasm
v0.2.0/go.mod h1:
8rXZaNYT2n95jn+zTI1sDr+IgcD2GVs0nlbbQPiEFhY=
...
...
@@ -20,8 +20,8 @@ github.com/georgysavva/scany/v2 v2.1.4 h1:nrzHEJ4oQVRoiKmocRqA1IyGOmM/GQOEsg9UjM
github.com/georgysavva/scany/v2
v2.1.4/go.mod h1:
fqp9yHZzM/PFVa3/rYEC57VmDx+KDch0LoqrJzkvtos=
github.com/gin-contrib/sse
v1.1.0 h1:
n0w2GMuUpWDVp7qSpvze6fAu9iRxJY4Hmj6AmBOU05w=
github.com/gin-contrib/sse
v1.1.0/go.mod h1:
hxRZ5gVpWMT7Z0B0gSNYqqsSCNIJMjzvm6fqCz9vjwM=
github.com/gin-gonic/gin
v1.10.
0
h1:
nTuyha1TYqgedzytsKYqna+DfLos46nTv2ygFy86HFU
=
github.com/gin-gonic/gin
v1.10.
0
/go.mod h1:
4PMNQiOhvDRa013RKVbsiNwoyezlm2rm0uX/T7kzp5Y=
github.com/gin-gonic/gin
v1.10.
1
h1:
T0ujvqyCSqRopADpgPgiTT63DUQVSfojyME59Ei63pQ
=
github.com/gin-gonic/gin
v1.10.
1
/go.mod h1:
4PMNQiOhvDRa013RKVbsiNwoyezlm2rm0uX/T7kzp5Y=
github.com/go-co-op/gocron
v1.37.0 h1:
ZYDJGtQ4OMhTLKOKMIch+/CY70Brbb1dGdooLEhh7b0=
github.com/go-co-op/gocron
v1.37.0/go.mod h1:
3L/n6BkO7ABj+TrfSVXLRzsP26zmikL4ISkLQ0O8iNY=
github.com/go-playground/assert/v2
v2.2.0 h1:
JvknZsQTYeFEAhQwI4qEt9cyV5ONwRHC+lYKSsYSR8s=
...
...
@@ -30,14 +30,14 @@ github.com/go-playground/locales v0.14.1 h1:EWaQ/wswjilfKLTECiXz7Rh+3BjFhfDFKv/o
github.com/go-playground/locales
v0.14.1/go.mod h1:
hxrqLVvrK65+Rwrd5Fc6F2O76J/NuW9t0sjnWqG1slY=
github.com/go-playground/universal-translator
v0.18.1 h1:
Bcnm0ZwsGyWbCzImXv+pAJnYK9S473LQFuzCbDbfSFY=
github.com/go-playground/universal-translator
v0.18.1/go.mod h1:
xekY+UJKNuX9WP91TpwSH2VMlDf28Uj24BCp08ZFTUY=
github.com/go-playground/validator/v10
v10.2
6
.0 h1:
SP05Nqhjcvz81uJaRfEV0YBSSSGMc/iMaVtFbr3Sw2k
=
github.com/go-playground/validator/v10
v10.2
6
.0/go.mod h1:
I5QpIEbmr8On7W0TktmJAumgzX4CA1XNl4ZmDuVHKKo=
github.com/go-playground/validator/v10
v10.2
7
.0 h1:
w8+XrWVMhGkxOaaowyKH35gFydVHOvC0/uWoy2Fzwn4
=
github.com/go-playground/validator/v10
v10.2
7
.0/go.mod h1:
I5QpIEbmr8On7W0TktmJAumgzX4CA1XNl4ZmDuVHKKo=
github.com/goccy/go-json
v0.10.5 h1:
Fq85nIqj+gXn/S5ahsiTlK3TmC85qgirsdTP/+DeaC4=
github.com/goccy/go-json
v0.10.5/go.mod h1:
oq7eo15ShAhp70Anwd5lgX2pLfOS3QCiwU/PULtXL6M=
github.com/gofrs/flock
v0.8.1 h1:
+gYjHKf32LDeiEEFhQaotPbLuUXjY5ZqxKgXy7n59aw=
github.com/gofrs/flock
v0.8.1/go.mod h1:
F1TvTiK9OcQqauNUHlbJvyl9Qa1QvF/gOUDKA14jxHU=
github.com/google/go-cmp
v0.
6
.0 h1:
ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI
=
github.com/google/go-cmp
v0.
6
.0/go.mod h1:
17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY
=
github.com/google/go-cmp
v0.
7
.0 h1:
wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8
=
github.com/google/go-cmp
v0.
7
.0/go.mod h1:
pXiqmnSA92OHEEa9HXL2W4E7lf9JzCmGVUdgjX3N/iU
=
github.com/google/gofuzz
v1.0.0/go.mod h1:
dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
github.com/google/uuid
v1.4.0/go.mod h1:
TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
github.com/google/uuid
v1.6.0 h1:
NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0=
...
...
@@ -46,8 +46,8 @@ github.com/jackc/pgpassfile v1.0.0 h1:/6Hmqy13Ss2zCq62VdNG8tM1wchn8zjSGOBJ6icpsI
github.com/jackc/pgpassfile
v1.0.0/go.mod h1:
CEx0iS5ambNFdcRtxPj5JhEz+xB6uRky5eyVu/W2HEg=
github.com/jackc/pgservicefile
v0.0.0-20240606120523-5a60cdf6a761 h1:
iCEnooe7UlwOQYpKFhBabPMi4aNAfoODPEFNiAnClxo=
github.com/jackc/pgservicefile
v0.0.0-20240606120523-5a60cdf6a761/go.mod h1:
5TJZWKEWniPve33vlWYSoGYefn3gLQRzjfDlhSJ9ZKM=
github.com/jackc/pgx/v5
v5.7.
4
h1:
9wKznZrhWa2QiHL+NjTSPP6yjl3451BX3imWDnokYlg
=
github.com/jackc/pgx/v5
v5.7.
4
/go.mod h1:
ncY89UGWxg82EykZUwSpUKEfccBGGYq1xjrOpsbsfGQ
=
github.com/jackc/pgx/v5
v5.7.
5
h1:
JHGfMnQY+IEtGM63d+NGMjoRpysB2JBwDr5fsngwmJs
=
github.com/jackc/pgx/v5
v5.7.
5
/go.mod h1:
aruU7o91Tc2q2cFp5h4uP3f6ztExVpyVv88Xl/8Vl8M
=
github.com/jackc/puddle/v2
v2.2.2 h1:
PR8nw+E/1w0GLuRFSmiioY6UooMp6KJv0/61nB7icHo=
github.com/jackc/puddle/v2
v2.2.2/go.mod h1:
vriiEXHvEE654aYKXXjOvZM39qJ0q+azkZFrfEOc3H4=
github.com/jmespath/go-jmespath
v0.4.0 h1:
BEgLn5cpjn8UN1mAw4NjwDrS35OdebyEtFe+9YPoQUg=
...
...
@@ -57,8 +57,8 @@ github.com/jmespath/go-jmespath/internal/testify v1.5.1/go.mod h1:L3OGu8Wl2/fWfC
github.com/json-iterator/go
v1.1.12 h1:
PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM=
github.com/json-iterator/go
v1.1.12/go.mod h1:
e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo=
github.com/klauspost/cpuid/v2
v2.0.9/go.mod h1:
FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg=
github.com/klauspost/cpuid/v2
v2.
2.1
0 h1:
tBs3QSyvjDyFTq3uoc/9xFpCuOsJQFNPiAhYdw2skhE
=
github.com/klauspost/cpuid/v2
v2.
2.1
0/go.mod h1:
hqwkgyIinND0mEev00jJYCxPNVRVXFQeu1XKlok6oO0=
github.com/klauspost/cpuid/v2
v2.
3.
0 h1:
S4CRMLnYUhGeDFDqkGriYKdfoFlDnMtqTiI/sFzhA9Y
=
github.com/klauspost/cpuid/v2
v2.
3.
0/go.mod h1:
hqwkgyIinND0mEev00jJYCxPNVRVXFQeu1XKlok6oO0=
github.com/knz/go-libedit
v1.10.1/go.mod h1:
MZTVkCWyz0oBc7JOWP3wNAzd002ZbM/5hgShxwh4x8M=
github.com/kr/pretty
v0.1.0/go.mod h1:
dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
github.com/kr/pretty
v0.2.1/go.mod h1:
ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI=
...
...
@@ -108,26 +108,26 @@ github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOf
github.com/stretchr/testify
v1.10.0/go.mod h1:
r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
github.com/twitchyliquid64/golang-asm
v0.15.1 h1:
SU5vSMR7hnwNxj24w34ZyCi/FmDZTkS4MhqMhdFk5YI=
github.com/twitchyliquid64/golang-asm
v0.15.1/go.mod h1:
a1lVb/DtPvCB8fslRZhAngC2+aY1QWCk3Cedj/Gdt08=
github.com/ugorji/go/codec
v1.
2.12 h1:
9LC83zGrHhuUA9l16C9AHXAqEV/2wBQ4nkvumAE65EE
=
github.com/ugorji/go/codec
v1.
2.12
/go.mod h1:
UNopzCgEMSXjBc6AOMqYvWC1ktqTAfzJZUZgYf6w6lg
=
github.com/ugorji/go/codec
v1.
3.0 h1:
Qd2W2sQawAfG8XSvzwhBeoGq71zXOC/Q1E9y/wUcsUA
=
github.com/ugorji/go/codec
v1.
3.0
/go.mod h1:
pRBVtBSKl77K30Bv8R2P+cLSGaTtex6fsA2Wjqmfxj4
=
go.uber.org/atomic
v1.9.0/go.mod h1:
fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc=
go.uber.org/atomic
v1.11.0 h1:
ZvwS0R+56ePWxUNi+Atn9dWONBPp/AUETXlHW0DxSjE=
go.uber.org/atomic
v1.11.0/go.mod h1:
LUxbIzbOniOlMKjJjyPfpl4v+PKK2cNJn91OQbhoJI0=
golang.org/x/arch
v0.1
6
.0 h1:
foMtLTdyOmIniqWCHjY6+JxuC54XP1fDwx4N0ASyW+
U=
golang.org/x/arch
v0.1
6
.0/go.mod h1:
JmwW7aLIoRUKgaTzhkiEFxvcEiQGyOg9BMonBJUS7EE
=
golang.org/x/crypto
v0.
37
.0 h1:
kJNSjF/Xp7kU0iB2Z+9viTPMW4EqqsrywMXLJOOsXSE
=
golang.org/x/crypto
v0.
37
.0/go.mod h1:
vg+k43peMZ0pUMhYmVAWysMK35e6ioLh3wB8ZCAfbVc
=
golang.org/x/exp
v0.0.0-20250
408133849-7e4ce0ab07d0 h1:
R84qjqJb5nVJMxqWYb3np9L5ZsaDtB+a39EqjV0JSUM
=
golang.org/x/exp
v0.0.0-20250
408133849-7e4ce0ab07d0/go.mod h1:
S9Xr4PYopiDyqSyp5NjCrhFrqg6A5zA2E/iPHPhqnS8
=
golang.org/x/net
v0.
39
.0 h1:
ZCu7HMWDxpXpaiKdhzIfaltL9Lp31x/3fCP11bc6/fY
=
golang.org/x/net
v0.
39
.0/go.mod h1:
X7NRbYVEA+ewNkCNyJ513WmMdQ3BineSwVtN2zD/d+E
=
golang.org/x/sync
v0.1
3
.0 h1:
AauUjRAJ9OSnvULf/ARrrVywoJDy0YS2AwQ98I37610
=
golang.org/x/sync
v0.1
3
.0/go.mod h1:
1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA=
golang.org/x/arch
v0.1
9
.0 h1:
LmbDQUodHThXE+htjrnmVD73M//D9GTH6wFZjyDkjy
U=
golang.org/x/arch
v0.1
9
.0/go.mod h1:
bdwinDaKcfZUGpH09BB7ZmOfhalA8lQdzl62l8gGWsk
=
golang.org/x/crypto
v0.
40
.0 h1:
r4x+VvoG5Fm+eJcxMaY8CQM7Lb0l1lsmjGBQ6s8BfKM
=
golang.org/x/crypto
v0.
40
.0/go.mod h1:
Qr1vMER5WyS2dfPHAlsOj01wgLbsyWtFn/aY+5+ZdxY
=
golang.org/x/exp
v0.0.0-20250
718183923-645b1fa84792 h1:
R9PFI6EUdfVKgwKjZef7QIwGcBKu86OEFpJ9nUEP2l4
=
golang.org/x/exp
v0.0.0-20250
718183923-645b1fa84792/go.mod h1:
A+z0yzpGtvnG90cToK5n2tu8UJVP2XUATh+r+sfOOOc
=
golang.org/x/net
v0.
42
.0 h1:
jzkYrhi3YQWD6MLBJcsklgQsoAcw89EcZbJw8Z614hs
=
golang.org/x/net
v0.
42
.0/go.mod h1:
FF1RA5d3u7nAYA4z2TkclSCKh68eSXtiFwcWQpPXdt8
=
golang.org/x/sync
v0.1
6
.0 h1:
ycBJEhp9p4vXvUZNszeOq0kGTPghopOL8q0fq3vstxw
=
golang.org/x/sync
v0.1
6
.0/go.mod h1:
1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA=
golang.org/x/sys
v0.6.0/go.mod h1:
oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys
v0.3
2
.0 h1:
s77OFDvIQeibCmezSnk/q6iAfkdiQaJi4VzroCFrN20
=
golang.org/x/sys
v0.3
2
.0/go.mod h1:
BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k=
golang.org/x/text
v0.2
4
.0 h1:
dd5Bzh4yt5KYA8f9CJHCP4FB4D51c2c6JvN37xJJkJ0
=
golang.org/x/text
v0.2
4
.0/go.mod h1:
L8rBsPeo2pSS+xqN0d5u2ikmjtmoJbDBT1b7nHvFCd
U=
golang.org/x/sys
v0.3
4
.0 h1:
H5Y5sJ2L2JRdyv7ROF1he/lPdvFsd0mJHFw2ThKHxLA
=
golang.org/x/sys
v0.3
4
.0/go.mod h1:
BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k=
golang.org/x/text
v0.2
7
.0 h1:
4fGWRpyh641NLlecmyl4LOe6yDdfaYNrGb2zdfo4JV4
=
golang.org/x/text
v0.2
7
.0/go.mod h1:
1D28KMCvyooCX9hBiosv5Tz/+YLxj0j7XhWjpSUF7C
U=
google.golang.org/protobuf
v1.36.6 h1:
z1NpPI8ku2WgiWnf+t9wTPsn6eP1L7ksHUlkfLvd9xY=
google.golang.org/protobuf
v1.36.6/go.mod h1:
jduwjTPXsFjZGTmRluh+L6NjiWu7pchiJ2/5YcXBHnY=
gopkg.in/check.v1
v0.0.0-20161208181325-20d25e280405/go.mod h1:
Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
...
...
zgo.go
View file @
287bee75
...
...
@@ -14,6 +14,7 @@ import (
_
"git.barsukov.pro/barsukov/zgo/zquit"
_
"git.barsukov.pro/barsukov/zgo/zre"
_
"git.barsukov.pro/barsukov/zgo/zs3"
_
"git.barsukov.pro/barsukov/zgo/zsem"
_
"git.barsukov.pro/barsukov/zgo/zutils"
_
"git.barsukov.pro/barsukov/zgo/zwg"
)
...
...
zsem/zsem.go
0 → 100644
View file @
287bee75
package
zsem
import
(
"context"
"golang.org/x/sync/semaphore"
"runtime"
)
type
ZSem
struct
{
qty
int
Sem
*
semaphore
.
Weighted
}
func
(
s
*
ZSem
)
AcquireCtx
(
ctx
context
.
Context
)
error
{
return
s
.
Sem
.
Acquire
(
ctx
,
1
)
}
func
(
s
*
ZSem
)
AcquireNErr
(
n
int
)
error
{
return
s
.
Sem
.
Acquire
(
context
.
Background
(),
int64
(
n
))
}
func
(
s
*
ZSem
)
AcquireN
(
n
int
)
{
_
=
s
.
AcquireNErr
(
n
)
}
func
(
s
*
ZSem
)
Acquire
()
{
s
.
AcquireN
(
1
)
}
func
(
s
*
ZSem
)
AcquireErr
()
error
{
return
s
.
AcquireNErr
(
1
)
}
func
(
s
*
ZSem
)
Release
()
{
s
.
Sem
.
Release
(
1
)
}
func
(
s
*
ZSem
)
ReleaseN
(
n
int
)
{
s
.
Sem
.
Release
(
int64
(
n
))
}
func
(
s
*
ZSem
)
Wait
()
{
s
.
AcquireN
(
s
.
qty
)
}
func
New
(
n
int
)
*
ZSem
{
return
&
ZSem
{
Sem
:
semaphore
.
NewWeighted
(
int64
(
n
)),
qty
:
n
}
}
func
Default
()
*
ZSem
{
return
New
(
runtime
.
NumCPU
()
*
2
)
}
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment