Skip to content

legendtkl/gpool.v1

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 

Repository files navigation

This is a goroutine pool

Overview

Features

  1. We will only start a goroutine when needed. That means, we won't start all the goroutines when initializing.
  2. We will adjust the goroutine number dynamically.

How to use

Install

go get github.com/legendtkl/ppl

Example

package main

import (
    "fmt"
    "github.com/legendtkl/pool"
    "time"
)

func main() {
    wp, err := pool.NewLimit(100)
    if err != nil {
        fmt.Println("Create Worker Pool Failed")
    }

    //f()
    for i := 0; i < 100; i++ {
        j := i
        f := func() {
            fmt.Println(j)
        }
        wp.Queue(f)
    }

    time.Sleep(5 * time.Second)
}

Performance

Acknowledge

About

this is a goroutine pool

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages