featurer/vendor/github.com/modern-go/concurrent/executor.go
Stanislav N. aka pztrn c49251db31
All checks were successful
Linting and tests / Tests (push) Successful in 1m27s
Linting and tests / Linting (push) Successful in 1m34s
Add vendor to improve building speed.
This also adds ability to be built in network-constrained environment.
2024-10-12 23:08:41 +05:00

15 lines
613 B
Go

package concurrent
import "context"
// Executor replace go keyword to start a new goroutine
// the goroutine should cancel itself if the context passed in has been cancelled
// the goroutine started by the executor, is owned by the executor
// we can cancel all executors owned by the executor just by stop the executor itself
// however Executor interface does not Stop method, the one starting and owning executor
// should use the concrete type of executor, instead of this interface.
type Executor interface {
// Go starts a new goroutine controlled by the context
Go(handler func(ctx context.Context))
}