diff options
author | Unknwon <u@gogs.io> | 2018-06-09 17:34:38 +0800 |
---|---|---|
committer | Unknwon <u@gogs.io> | 2018-06-09 17:34:38 +0800 |
commit | 5e158b51db1022318e95d1998d2fc9fc50f061f1 (patch) | |
tree | 817eea5ca0944c4d07bbf22a8b5e20a0b163aaa6 /vendor/github.com/modern-go/concurrent/executor.go | |
parent | fbecc18e2e4d4eb863a990a57218305f190ae6db (diff) |
vendor: add new dependencies
Diffstat (limited to 'vendor/github.com/modern-go/concurrent/executor.go')
-rw-r--r-- | vendor/github.com/modern-go/concurrent/executor.go | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/vendor/github.com/modern-go/concurrent/executor.go b/vendor/github.com/modern-go/concurrent/executor.go new file mode 100644 index 00000000..623dba1a --- /dev/null +++ b/vendor/github.com/modern-go/concurrent/executor.go @@ -0,0 +1,14 @@ +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)) +} |