asyncbatchx

package
v0.1.13 Latest Latest
Warning

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

Go to latest
Published: Jun 24, 2025 License: MIT Imports: 3 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Group

type Group[Obj any] struct {
	// contains filtered or unexported fields
}

func New

func New[Obj any](size int, interval time.Duration, f func(objs []Obj)) *Group[Obj]

New 创建并返回一个新的Group对象,用于异步批量处理对象。 参数size指定每次批量处理的对象数量,interval指定批量处理的间隔时间。 函数f是在达到批量大小或时间间隔时被调用的处理函数。

func (*Group[Obj]) Close

func (g *Group[Obj]) Close()

Close 关闭一个对象组。

本函数旨在确保组内的对象不会在组关闭后被添加或访问。 它通过关闭组的关闭通道来通知其他协程该组已关闭,以便它们可以相应地采取行动。

注意:本函数不接受参数,也不返回任何值。

func (*Group[Obj]) Submit

func (g *Group[Obj]) Submit(obj Obj) error

Submit 向组中提交一个对象。 该函数在内部使用互斥锁来确保线程安全,并检查组是否已关闭。 如果组已关闭,将返回错误。如果组未关闭且对象被成功添加到缓冲区, 当缓冲区大小达到阈值时,将通过提交通道发送信号。

Jump to

Keyboard shortcuts

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