Import path:
gitlab.soludian.com/soludian/fountain/libs/fcycle
fcycle
import "gitlab.soludian.com/soludian/fountain/libs/fcycle"Index
type Cycle
Cycle ..
type Cycle struct {
// contains filtered or unexported fields
}func NewCycle
func NewCycle() *CycleNewCycle new a cycle life
func (*Cycle) Close
func (c *Cycle) Close()Close sử dụng để đóng kênh quit. Nếu muốn đóng tất cả các goroutine đang chạy, nên sử dụng phương thức DoneAndClose()
func (*Cycle) Done
func (c *Cycle) Done() <-chan struct{}Done được sử dụng để chặn và trả về một kênh kiểu struct{}. Khi tất cả các goroutine đã chạy xong, kênh này sẽ được đóng.
func (*Cycle) DoneAndClose
func (c *Cycle) DoneAndClose()DoneAndClose sẽ đợi cho tất cả các goroutine chạy xong và sau đó đóng tất cả các kênh. Phương thức này chỉ nên được gọi khi muốn đóng tất cả các goroutine đang chạy và kết thúc quá trình.
func (*Cycle) Run
func (c *Cycle) Run(fn func() error)Run được sử dụng để chạy một goroutine mới. Tham số đầu vào của phương thức này là một hàm mà trả về một giá trị kiểu error. Goroutine sẽ được chạy trong một goroutine riêng biệt. Nếu hàm truyền vào trả về một giá trị lỗi, phương thức này sẽ gửi giá trị lỗi đó qua kênh quit.
func (*Cycle) Wait
func (c *Cycle) Wait(hang bool) <-chan errorWait được sử dụng để chặn và trả về một kênh kiểu error. Kênh này sẽ nhận giá trị lỗi nếu một trong các goroutine trả về lỗi. Nếu muốn đợi cho tất cả các goroutine kết thúc và sau đó đóng tất cả các kênh, nên sử dụng phương thức DoneAndClose(). Tham số hang được sử dụng để chỉ định liệu phương thức Wait() có nên chặn cho đến khi tất cả các goroutine kết thúc hay không. Nếu hang được đặt thành true, phương thức Wait() sẽ chặn cho đến khi tất cả các goroutine kết thúc và kênh trả về sẽ được đóng. Nếu hang được đặt thành false, phương thức Wait() sẽ trả về kênh ngay lập tức sau khi tất cả các goroutine kết thúc.
Generated by gomarkdoc