Categorygithub.com/initlevel5/workerpool
repositorypackage
0.0.0-20240623102727-20b4cbad0190
Repository: https://github.com/initlevel5/workerpool.git
Documentation: pkg.go.dev

# Packages

No description provided by the author

# README

workerpool

The workerpool usage example

func main() {
	var (
		wg      sync.WaitGroup
		counter atomic.Int32
	)

	numWorkers := runtime.NumCPU()
	numTasks := numWorkers * 2

	pool := workerpool.New(numWorkers, numTasks)
	defer pool.Close()

	for i := 0; i < numTasks; i++ {
		wg.Add(1)
		pool.MustAddTask(func() {
			counter.Add(1)
			wg.Done()
		})
	}

	wg.Wait()

	fmt.Println(counter.Load())
}