Documentation ¶
Overview ¶
Package Semaphore provides methods for working with Semaphore object instances.
Index ¶
- type Advanced
- type Any
- type Instance
- func (self Instance) AsObject() [1]gd.Object
- func (self Instance) AsRefCounted() [1]gd.RefCounted
- func (self Instance) AsSemaphore() Instance
- func (self Instance) Post()
- func (self Instance) TryWait() bool
- func (self *Instance) UnsafePointer() unsafe.Pointer
- func (self Instance) Virtual(name string) reflect.Value
- func (self Instance) Wait()
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Advanced ¶
type Advanced = class
Advanced exposes a 1:1 low-level instance of the class, undocumented, for those who know what they are doing.
type Instance ¶
A synchronization semaphore that can be used to synchronize multiple [Thread]s. Initialized to zero on creation. For a binary version, see [Mutex]. [b]Warning:[/b] Semaphores must be used carefully to avoid deadlocks. [b]Warning:[/b] To guarantee that the operating system is able to perform proper cleanup (no crashes, no deadlocks), these conditions must be met: - When a [Semaphore]'s reference count reaches zero and it is therefore destroyed, no threads must be waiting on it. - When a [Thread]'s reference count reaches zero and it is therefore destroyed, it must not be waiting on any semaphore.
var Nil Instance
Nil is a nil/null instance of the class. Equivalent to the zero value.
func (Instance) AsRefCounted ¶
func (self Instance) AsRefCounted() [1]gd.RefCounted
func (Instance) AsSemaphore ¶
func (Instance) Post ¶
func (self Instance) Post()
Lowers the [Semaphore], allowing one more thread in.
func (Instance) TryWait ¶
Like [method wait], but won't block, so if the value is zero, fails immediately and returns [code]false[/code]. If non-zero, it returns [code]true[/code] to report success.