Panda3D

Public Member Functions | Static Public Member Functions | Friends | List of all members
ExternalThread Class Reference

The special "external thread" class. More...

`#include "externalThread.h"`

Inheritance diagram for ExternalThread:

## Public Member Functions
virtual TypeHandle | force_init_type ()
virtual TypeHandle | get_type () const
Public Member Functions inherited from Thread
TypedReferenceCount * | get_current_task () const
int | get_pipeline_stage () const
PStatsCallback * | get_pstats_callback () const
| Returns the PStats callback associated with this thread, or NULL if no callback has yet been associated with this thread. More...
int | get_pstats_index () const
int | get_python_index () const
std::string | get_unique_id () const
bool | is_joinable () const
bool | is_started () const
void | join ()
| Blocks the calling process until the thread terminates. More...
virtual void | output (std::ostream &out) const
void | output_blocker (std::ostream &out) const
| Writes a description of the mutex or condition variable that this thread is blocked on. More...
void | preempt ()
| Indicates that this thread should run as soon as possible, preemptying any other threads that may be scheduled to run. More...
void | set_min_pipeline_stage (int min_pipeline_stage)
| Sets this thread's pipeline stage number to at least the indicated value, unless it is already larger. More...
void | set_pipeline_stage (int pipeline_stage)
void | set_pstats_callback (PStatsCallback *pstats_callback)
| Stores a PStats callback to be associated with this thread. More...
void | set_pstats_index (int pstats_index)
| Stores a PStats index to be associated with this thread. More...
void | set_python_index (int index)
| Stores a Python index to be associated with this thread. More...
bool | start (ThreadPriority priority, bool joinable)
| Starts the thread executing. More...
Public Member Functions inherited from TypedReferenceCount
| TypedReferenceCount (const TypedReferenceCount &copy)
void | operator= (const TypedReferenceCount &copy)
Public Member Functions inherited from TypedObject
| TypedObject (const TypedObject &copy)=default
TypedObject * | as_typed_object ()
| Returns the object, upcast (if necessary) to a TypedObject pointer. More...
const TypedObject * | as_typed_object () const
| Returns the object, upcast (if necessary) to a TypedObject pointer. More...
int | get_best_parent_from_Set (const std::set< int > &) const
int | get_type_index () const
| Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. More...
bool | is_exact_type (TypeHandle handle) const
| Returns true if the current object is the indicated type exactly. More...
bool | is_of_type (TypeHandle handle) const
| Returns true if the current object is or derives from the indicated type. More...
TypedObject & | operator= (const TypedObject &copy)=default
Public Member Functions inherited from MemoryBase
void | operator delete (void *, void *)
void | operator delete (void *ptr)
void | operator delete[] (void *, void *)
void | operator delete[] (void *ptr)
void * | operator new (size_t size)
void * | operator new (size_t size, void *ptr)
void * | operator new[] (size_t size)
void * | operator new[] (size_t size, void *ptr)
Public Member Functions inherited from ReferenceCount
int | get_ref_count () const
WeakReferenceList * | get_weak_list () const
| Returns the WeakReferenceList associated with this ReferenceCount object. More...
bool | has_weak_list () const
| Returns true if this particular ReferenceCount object has a WeakReferenceList created, false otherwise. More...
void | local_object ()
| This function should be called, once, immediately after creating a new instance of some ReferenceCount-derived object on the stack. More...
void | ref () const
| Explicitly increments the reference count. More...
bool | ref_if_nonzero () const
| Atomically increases the reference count of this object if it is not zero. More...
bool | test_ref_count_integrity () const
| Does some easy checks to make sure that the reference count isn't completely bogus. More...
bool | test_ref_count_nonzero () const
| Does some easy checks to make sure that the reference count isn't zero, or completely bogus. More...
virtual bool | unref () const
| Explicitly decrements the reference count. More...
bool | unref_if_one () const
| Atomically decreases the reference count of this object if it is one. More...
WeakReferenceList * | weak_ref ()
| Adds the indicated PointerToVoid as a weak reference to this object. More...
void | weak_unref ()
| Removes the indicated PointerToVoid as a weak reference to this object. More...
Public Member Functions inherited from Namable
| Namable (const std::string &initial_name="")
void | clear_name ()
| Resets the Namable's name to empty. More...
const std::string & | get_name () const
bool | has_name () const
| Returns true if the Namable has a nonempty name set, false if the name is empty. More...
void | output (std::ostream &out) const
| Outputs the Namable. More...
void | set_name (const std::string &name)

## Static Public Member Functions
static TypeHandle | get_class_type ()
static void | init_type ()
Static Public Member Functions inherited from Thread
static void | consider_yield ()
| Possibly suspends the current thread for the rest of the current epoch, if it has run for enough this epoch. More...
static void | force_yield ()
| Suspends the current thread for the rest of the current epoch. More...
static TypeHandle | get_class_type ()
static int | get_current_pipeline_stage ()
static Thread * | get_current_thread ()
static Thread * | get_external_thread ()
static Thread * | get_main_thread ()
static void | init_type ()
static bool | is_simple_threads ()
static bool | is_threading_supported ()
static bool | is_true_threads ()
static void | prepare_for_exit ()
| Should be called by the main thread just before exiting the program, this blocks until any remaining thread cleanup has finished. More...
static void | sleep (double seconds)
| Suspends the current thread for at least the indicated amount of time. More...
static void | write_status (std::ostream &out)
Static Public Member Functions inherited from TypedReferenceCount
static TypeHandle | get_class_type ()
static void | init_type ()
Static Public Member Functions inherited from TypedObject
static TypeHandle | get_class_type ()
static void | init_type ()
| This function is declared non-inline to work around a compiler bug in g++ 2.96. More...
Static Public Member Functions inherited from ReferenceCount
static TypeHandle | get_class_type ()
static void | init_type ()
Static Public Member Functions inherited from Namable
static TypeHandle | get_class_type ()
static void | init_type ()

## Friends
class | Thread

## Additional Inherited Members
Public Attributes inherited from Thread
| get_current_pipeline_stage
| Returns the integer pipeline stage associated with the current thread. More...
| get_current_task
| Returns the task currently executing on this thread (via the AsyncTaskManager), if any, or NULL if the thread is not currently servicing a task. More...
| get_current_thread
| Returns a pointer to the currently-executing Thread object. More...
| get_external_thread
| Returns a pointer to the "external" Thread object–this is a special Thread object that corresponds to any thread spawned outside of Panda's threading interface. More...
| get_main_thread
| Returns a pointer to the "main" Thread object–this is the Thread that started the whole process. More...
| get_pipeline_stage
| Returns the Pipeline stage number associated with this thread. More...
| get_pstats_index
| Returns the PStats index associated with this thread, or -1 if no index has yet been associated with this thread. More...
| get_python_index
| Returns the Python index associated with this thread, or -1 if no index has yet been associated with this thread. More...
| get_sync_name
| Returns the sync name of the thread. More...
| get_unique_id
| Returns a string that is guaranteed to be unique to this thread, across all processes on the machine, during at least the lifetime of this process. More...
| is_joinable
| Returns the value of joinable that was passed to the start() call. More...
| is_simple_threads
| Returns true if Panda is currently compiled for "simple threads", which is to say, cooperative context switching only, reducing the need for quite so many critical section protections. More...
| is_started
| Returns true if the thread has been started, false if it has not, or if join() has already been called. More...
| is_threading_supported
| Returns true if threading support has been compiled in and enabled, or false if no threading is available (and Thread::start() will always fail). More...
| is_true_threads
| Returns true if a real threading library is available that supports actual OS-implemented threads, or false if the only threading we can provide is simulated user-space threading. More...
| set_pipeline_stage
| Specifies the Pipeline stage number associated with this thread. More...
Public Attributes inherited from TypedObject
| get_type
Public Attributes inherited from ReferenceCount
| get_ref_count
| Returns the current reference count. More...
Public Attributes inherited from Namable
| get_name
| set_name

## Detailed Description

The special "external thread" class.

There is one instance of these in the world, and it is returned by Thread::get_external_thread().

Definition at line 24 of file externalThread.h.

The documentation for this class was generated from the following files:

- panda/src/pipeline/externalThread.h
- panda/src/pipeline/externalThread.cxx