BlackForest/GTask.go
rick.chan d1eea393eb 创建基本框架。
Signed-off-by: rick.chan <cy@haoan119.com>
2024-07-24 10:12:47 +08:00

36 lines
462 B
Go

package main
import (
"sync"
)
type GTask struct {
GQueue
sync.WaitGroup
*GManager
}
func (my *GTask) Init(manager *GManager, qsize int) *GTask {
my.GManager = manager
my.GQueue.Init(qsize)
return my
}
func (my *GTask) Enter() {
if my.GManager != nil {
my.GManager.Enter()
}
my.WaitGroup.Add(1)
}
func (my *GTask) Exit() {
my.WaitGroup.Done()
if my.GManager != nil {
my.GManager.Exit()
}
}
func (my *GTask) Join() {
my.WaitGroup.Wait()
}