Popularity
1.3
Growing
Activity
0.0
Stable
16
1
2

Programming language: Go
License: MIT License
Tags: Goroutines    

queue alternatives and similar packages

Based on the "Goroutines" category.
Alternatively, view queue alternatives based on common mentions on social networks and blogs.

Do you think we are missing an alternative of queue or a related project?

Add another 'Goroutines' Package

README

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.