FabricSynchronization Extension’s Free Functions

Acquire ( in Ref<SimpleLock> simpleLock )

Acquires a lock. If it takes more than lock.maxWaitSeconds, an exception is thrown.


Acquire ( in Ref<SimpleLock> simpleLock, in Scalar maxWaitSeconds )

Acquires a lock. If it takes more than maxWaitSeconds, an exception is thrown.


ActiveWait ( in Scalar seconds )

Helper function for waiting actively during a specific timelapse.


AtomicSet ( io UInt32 value, in UInt32 newValue )


AtomicSet ( io UInt8 value, in UInt8 newValue )


BeginKLDFGBindingExecution ()


EnableAsynchronousEvaluation ( in Boolean enable )


EnableMultithreading ( in Boolean enable )


EndKLDFGBindingExecution ()


ForceDecreaseLogTraceIndent ()


ForceIncreaseLogTraceIndent ()


ForceLogSubTrace ( in String trace )

ForceLogSubTrace: will log no matter GetLoggingLevel()


ForceLogTrace ( in String trace )

ForceLogTrace: will log no matter GetLoggingLevel()


Ref<AsyncTaskQueue> GetAsyncTaskQueue ()

Gets the AsyncTaskQueue singleton


Ref<ComputeContext> GetComputeContext ()

NOTE: a Ref<> function will leak: see EDK issue #3327...


UInt32 GetLoggingLevel ()


UInt32 GetMultithreadingDepth ()

Returns the current multithreading depth for this thread (0 == no multithreading).

注釈

This is only relevant if parallel execution is bracketed with a MultithreadAdvisorBracket


Boolean IsCurrentThreadExecutingAsync ()


Boolean IsMultithreading ()

Returns true if multithreading is currently active for this thread.

注釈

This is only relevant if parallel execution is bracketed with a MultithreadAdvisorBracket


LogActiveWaitTime ( in Float32 time )


LogSubTrace ( in String trace )


LogTrace ( in String trace )


MicroSleep ( in UInt32 ms )


MicroSleepWait ( in UInt32 ms )


Boolean MultithreadingEnabled ()


Release ( in Ref<SimpleLock> simpleLock )

Releases a lock.


SetLoggingLevel ( in UInt32 level )


SimpleAcquire ( io UInt32 lockVariable )


SimpleRelease ( io UInt32 lockVariable )


ThreadSafeClearFlag ( io UInt32 val, in UInt8 flag, in Boolean threadsafe )


ThreadSafeInc ( io UInt32 value, in Boolean threadsafe )


ThreadSafeSet ( io UInt32 value, in UInt32 newValue, in Boolean threadsafe )


ThreadSafeSet ( io UInt8 value, in UInt8 newValue, in Boolean threadsafe )


ThreadSafeSetFlag ( io UInt32 val, in UInt8 flag, in Boolean threadsafe )


Boolean TryAcquire ( in Ref<SimpleLock> simpleLock )

Tries to acquire a lock immediately and will return false if failed.


Boolean TryAcquire ( in Ref<SimpleLock> simpleLock, in Scalar maxWaitSeconds )

Tries to acquire a lock for maxWaitSeconds seconds. Will return false if failed.


Boolean TryAcquire ( io UInt32 lockVariable )


WaitForAllAsyncTasks ()


UInt32 _GetLoggingLevel ()


_SetLoggingLevel ( in UInt32 level )