package concurrent
import "kaiju/platform/concurrent"
Types
MessageQueue
struct
type MessageQueue[T any] struct {
// Has unexported fields.
}
NewMessageQueue[T any]
func NewMessageQueue[T any]() *MessageQueue[T]
MessageQueue.Enqueue
func (q *MessageQueue[T]) Enqueue(msg T)
MessageQueue.Flush
func (q *MessageQueue[T]) Flush() []T
Threads
struct
type Threads struct {
// Has unexported fields.
}
NewThreads
func NewThreads() Threads
Threads.AddWork
func (t *Threads) AddWork(work ...func(threadId int))
Threads.Start
func (t *Threads) Start()
Threads.Stop
Threads.ThreadCount
func (t *Threads) ThreadCount() int
WorkGroup
struct
type WorkGroup struct {
// Has unexported fields.
}
WorkGroup.Add
func (w *WorkGroup) Add(name string, work func())
WorkGroup.Execute
func (w *WorkGroup) Execute(name string, threads *Threads)