Sign in

A goroutine pool for Go

Github Page:

https://github.com/panjf2000/ants

Library ants implements a goroutine pool with fixed capacity, managing and recycling a massive number of goroutines, allowing developers to limit the number of goroutines in your concurrent programs.

Features:

  • Automatically managing and recycling a massive number of goroutines.
  • Periodically purging overdue goroutines.
  • Friendly interfaces: submitting tasks, getting the number of running goroutines, tuning capacity of pool dynamically, closing pool.
  • Handle panic gracefully to prevent programs from crash.
  • Efficient in memory usage and it even achieves higher performance than unlimited goroutines in golang.
  • Nonblocking mechanism.

Tested in the following Golang versions:

  • 1.8.x
  • 1.9.x
  • 1.10.x
  • 1.11.x
  • 1.12.x
  • 1.13.x

How to install

go get -u github.com/panjf2000/ants

How to use


Github Page

📖 Introduction

gnet is an event-driven networking framework that is fast and lightweight. It makes direct epoll and kqueue syscalls rather than using the standard Go net package and works in a similar manner as netty and libuv, which makes gnet achieve a much higher performance than Go net.

gnet is not designed to displace the standard Go net package, but to create a networking server framework for Go that performs on par with Redis and Haproxy for networking packets handling.

gnet sells itself as a high-performance, lightweight, non-blocking, event-driven networking framework written in pure Go which works on transport layer with…

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store