Skip to content
master
Switch branches/tags
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 

queue

-- import "github.com/anikhasibul/queue"

package queue gives you a queue group accessibility. Helps you to limit goroutines, wait for the end of the all goroutines and much more...

maxRoutines := 50
q := queue.New(maxRoutines)
defer q.Close()
for i := 0; i != 1000; i++ {
	q.Add()
	go func(c int) {
		defer q.Done()
		fmt.Println(c)
	}(i)
}
//wait for the end of the all jobs
q.Wait()

Usage

type Q

type Q struct {
}

Q holds a queue group and it's essentials.

func New

func New(max int) *Q

New creates a new queue group. It takes max running jobs as a parameter.

func (*Q) Add

func (q *Q) Add()

Add adds a new job to the queue.

func (*Q) Done

func (q *Q) Done()

Done decrements the queue group counter.

func (*Q) Wait

func (q *Q) Wait()

Wait waits for the end of the all jobs.

func (*Q) Current

func (q *Q) Current() int

Current returns the number of current running jobs.

func (*Q) Close

func (q *Q) Close()

Close closes a queue group gracefully.

About

package queue gives you a queue group accessibility. Helps you to limit goroutines, wait for the end of the all goroutines and much more.

Topics

Resources

License

Releases

No releases published

Packages

No packages published

Languages