gtsocial-umbx

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README | LICENSE

executor.go (613B)


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