generic_pool.go
Go•マスター
Explorer
C40
C++40
C#40
Dart40
Go
初級10
中級10
上級10
エキスパート5
マスター5
context_timeout.go
generic_pool.go
worker_pool.go
reflect_map.go
sync_cache.go
Java40
JavaScript40
Kotlin40
Objective-C40
Perl40
PHP40
Python40
R40
Ruby40
Rust40
Shell40
Swift40
TypeScript40
generic_pool.go
Click to focus
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
type Pool[T any] struct {↵
items chan T↵
}↵
func NewPool[T any](size int, fn func() T) *Pool[T] {↵
p := &Pool[T]{items: make(chan T, size)}↵
for i := 0; i < size; i++ {↵
p.items <- fn()↵
}↵
return p↵
}↵
func (p *Pool[T]) Get() T {↵
return <-p.items↵
}↵
func (p *Pool[T]) Put(v T) {↵
p.items <- v↵
}
0WPM•0%•0:00•0/311(0%)|Ln 1, Col 1
UTF-8•Go