Popularity
1.2
Stable
Activity
0.0
Stable
15
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.