package
0.0.0-20240618075331-b00dc440dc64
Repository: https://github.com/sugky7302/my-code-toolbox.git
Documentation: pkg.go.dev

# README

Sheerun / queue

Lightweight, tested, performant, thread-safe, blocking FIFO queue based on auto-resizing circular buffer.

使用

package main

import (
  "fmt"
  "sync"
  "time"

  "github.com/sheerun/queue"
)

func main() {
  q := queue.New()
  var wg sync.WaitGroup
  wg.Add(2)

  // Worker 1
  go func() {
    for i := 0; i < 500; i++ {
      item := q.Pop()
      fmt.Printf("%v\n", item)
      time.Sleep(10 * time.Millisecond)
    }
    wg.Done()
  }()

  // Worker 2
  go func() {
    for i := 0; i < 500; i++ {
      item := q.Pop()
      fmt.Printf("%v\n", item)
      time.Sleep(10 * time.Millisecond)
    }
    wg.Done()
  }()

  for i := 0; i < 1000; i++ {
    q.Append(i)
  }

  wg.Wait()
}

# Functions

No description provided by the author

# Structs

No description provided by the author