LightMutexDirect

from panda3d.core import LightMutexDirect
class LightMutexDirect

Bases: DTOOL_SUPER_BASE

This class implements a lightweight Mutex by making direct calls to the underlying implementation layer. It doesn’t perform any debugging operations.

Inheritance diagram

Inheritance diagram of LightMutexDirect

__init__(*args, **kwargs)
acquire()

C++ Interface: acquire(LightMutexDirect self)

/**
  • Grabs the lightMutex if it is available. If it is not available, blocks

  • until it becomes available, then grabs it. In either case, the function

  • does not return until the lightMutex is held; you should then call

  • unlock().

  • This method is considered const so that you can lock and unlock const

  • lightMutexes, mainly to allow thread-safe access to otherwise const data.

  • Also see LightMutexHolder.

*/

clearName()

C++ Interface: clear_name(const LightMutexDirect self)

/**
  • The lightMutex name is only defined when compiling in DEBUG_THREADS mode.

*/

clear_name()

C++ Interface: clear_name(const LightMutexDirect self)

/**
  • The lightMutex name is only defined when compiling in DEBUG_THREADS mode.

*/

debugIsLocked()

C++ Interface: debug_is_locked(LightMutexDirect self)

/**
  • Returns true if the current thread has locked the LightMutex, false

  • otherwise. This method is only intended for use in debugging, hence the

  • method name; in the LightMutexDirect case, it always returns true, since

  • there’s not a reliable way to determine this otherwise.

*/

debug_is_locked()

C++ Interface: debug_is_locked(LightMutexDirect self)

/**
  • Returns true if the current thread has locked the LightMutex, false

  • otherwise. This method is only intended for use in debugging, hence the

  • method name; in the LightMutexDirect case, it always returns true, since

  • there’s not a reliable way to determine this otherwise.

*/

getName()

C++ Interface: get_name(LightMutexDirect self)

/**
  • The lightMutex name is only defined when compiling in DEBUG_THREADS mode.

*/

get_name()

C++ Interface: get_name(LightMutexDirect self)

/**
  • The lightMutex name is only defined when compiling in DEBUG_THREADS mode.

*/

hasName()

C++ Interface: has_name(LightMutexDirect self)

/**
  • The lightMutex name is only defined when compiling in DEBUG_THREADS mode.

*/

has_name()

C++ Interface: has_name(LightMutexDirect self)

/**
  • The lightMutex name is only defined when compiling in DEBUG_THREADS mode.

*/

output()

C++ Interface: output(LightMutexDirect self, ostream out)

/**
  • This method is declared virtual in LightMutexDebug, but non-virtual in

  • LightMutexDirect.

*/

release()

C++ Interface: release(LightMutexDirect self)

/**
  • Releases the lightMutex. It is an error to call this if the lightMutex was

  • not already locked.

  • This method is considered const so that you can lock and unlock const

  • lightMutexes, mainly to allow thread-safe access to otherwise const data.

*/

setName()

C++ Interface: set_name(const LightMutexDirect self, str name)

/**
  • The lightMutex name is only defined when compiling in DEBUG_THREADS mode.

*/

set_name()

C++ Interface: set_name(const LightMutexDirect self, str name)

/**
  • The lightMutex name is only defined when compiling in DEBUG_THREADS mode.

*/