queue

package
v1.6.9 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 7, 2021 License: Apache-2.0 Imports: 4 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Push

func Push(job Jober)

Push 将可执行任务推入队列

func Run

func Run(maxCapacity, maxThread int)

Run 运行start running queue,指定缓冲区数和工作线程数

func RunListQueue

func RunListQueue(maxThread int)

RunListQueue 启动运行列表队列,指定工作线程数

func Terminate

func Terminate()

Terminate 终止队列以接收任务并释放资源

Types

type Jober

type Jober interface {
	Job()
}

Jober 是一个可以执行的异步任务

func NewJob

func NewJob(v interface{}, fn func(interface{})) Jober

NewJob 创建一个异步任务

type ListQueue

type ListQueue struct {
	// contains filtered or unexported fields
}

ListQueue 是一个列表任务队列,用于在高并发情况下缓解服务器压力并改进任务处理

func NewListQueue

func NewListQueue(maxThread int) *ListQueue

NewListQueue 创建一个列表队列,指定工作线程的数量

func NewListQueueWithMaxLen

func NewListQueueWithMaxLen(maxThread, maxLen int) *ListQueue

NewListQueueWithMaxLen 创建一个列表队列,指定工作线程数和最大元素数

func (*ListQueue) Push

func (q *ListQueue) Push(job Jober)

Push 将可执行任务推入队列

func (*ListQueue) Run

func (q *ListQueue) Run()

Run 开始运行队列

func (*ListQueue) Terminate

func (q *ListQueue) Terminate()

Terminate 终止队列以接收任务并释放资源

type Queue

type Queue struct {
	// contains filtered or unexported fields
}

Queue 任务队列排队以在高并发情况下减轻服务器压力并改进任务处理

func NewQueue

func NewQueue(maxCapacity, maxThread int) *Queue

NewQueue 创建一个队列,指定缓冲区数和工作线程数

func (*Queue) Push

func (q *Queue) Push(job Jober)

Push 将可执行任务放入队列

func (*Queue) Run

func (q *Queue) Run()

Run 开始运行队列

func (*Queue) Terminate

func (q *Queue) Terminate()

Terminate 终止队列以接收任务并释放资源

type Queuer

type Queuer interface {
	Run()
	Push(job Jober)
	Terminate()
}

Queuer 是一个任务队列,用于在高并发情况下缓解服务器压力并改进任务处理

type SyncJober

type SyncJober interface {
	Jober
	Wait() <-chan interface{}
	Error() error
}

SyncJober 可以执行的同步任务

func NewSyncJob

func NewSyncJob(v interface{}, fn func(interface{}) (interface{}, error)) SyncJober

NewSyncJob 创建同步任务

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL