mirror of https://github.com/gogits/gogs.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
14 lines
613 B
14 lines
613 B
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)) |
|
}
|
|
|