feat: squash multiple modules to one

This commit is contained in:
2024-05-08 19:09:33 +03:00
parent 55719b4399
commit fef404f1a7
37 changed files with 37 additions and 491 deletions

21
worker-pool/workerpool.go Normal file
View File

@ -0,0 +1,21 @@
package workerpool
import (
"fmt"
)
func WorkerPool[T any](limit int, worker func(int, T)) chan<- T {
tasks := make(chan T, limit)
for i := 1; i <= limit; i++ {
go func(i int) {
defer fmt.Printf("worker:%d done\n", i)
for t := range tasks {
worker(i, t)
}
}(i)
}
return tasks
}