thread

package
v2.6.0-rc.1 Latest Latest
Warning

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

Go to latest
Published: Sep 18, 2023 License: Apache-2.0 Imports: 2 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type NoopThread added in v2.1.0

type NoopThread struct{}

NoopThread is used to disable threading.

func NewNoopThread added in v2.1.0

func NewNoopThread() *NoopThread

NewNoopThread creates a new thread that does no threading.

func (*NoopThread) Call added in v2.1.0

func (t *NoopThread) Call(f func())

Call executes the func immediately.

func (*NoopThread) CallAsync added in v2.6.0

func (t *NoopThread) CallAsync(f func())

CallAsync executes the func immediately.

func (*NoopThread) Loop added in v2.1.0

func (t *NoopThread) Loop(ctx context.Context) error

Loop does nothing.

type OSThread added in v2.1.0

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

OSThread represents an OS thread.

func NewOSThread added in v2.1.0

func NewOSThread() *OSThread

NewOSThread creates a new thread.

queueSize indicates the function queue size. This matters when you use CallAsync.

func (*OSThread) Call added in v2.1.0

func (t *OSThread) Call(f func())

Call calls f on the thread.

Do not call Call from the same thread. Call would block forever.

Call blocks if Loop is not called.

func (*OSThread) CallAsync added in v2.6.0

func (t *OSThread) CallAsync(f func())

CallAsync tries to queue f. CallAsync returns immediately if f can be queued. CallAsync blocks if f cannot be queued.

Do not call CallAsync from the same thread. CallAsync would block forever.

func (*OSThread) Loop added in v2.1.0

func (t *OSThread) Loop(ctx context.Context) error

Loop starts the thread loop until Stop is called on the current OS thread.

Loop must be called on the OS thread.

type Thread

type Thread interface {
	Loop(ctx context.Context) error
	Call(f func())
	CallAsync(f func())
	// contains filtered or unexported methods
}

Jump to

Keyboard shortcuts

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