Skip to content

Latest commit

 

History

History
44 lines (36 loc) · 712 Bytes

README.md

File metadata and controls

44 lines (36 loc) · 712 Bytes

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