Panda3D

Loading...
Searching...
No Matches
Public Member Functions | Static Public Member Functions | Friends | List of all members
MainThread Class Reference

The special "main thread" class. More...

`#include "mainThread.h"`

Inheritance diagram for MainThread:

## 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.
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.
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.
void | preempt ()
| Indicates that this thread should run as soon as possible, preemptying any other threads that may be scheduled to run.
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.
void | set_pipeline_stage (int pipeline_stage)
void | set_pstats_callback (PStatsCallback *pstats_callback)
| Stores a PStats callback to be associated with this thread.
void | set_pstats_index (int pstats_index)
| Stores a PStats index to be associated with this thread.
void | set_python_index (int index)
| Stores a Python index to be associated with this thread.
bool | start (ThreadPriority priority, bool joinable)
| Starts the thread executing.
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.
const TypedObject * | as_typed_object () const
| Returns the object, upcast (if necessary) to a TypedObject pointer.
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.
bool | is_exact_type (TypeHandle handle) const
| Returns true if the current object is the indicated type exactly.
bool | is_of_type (TypeHandle handle) const
| Returns true if the current object is or derives from the indicated type.
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.
bool | has_weak_list () const
| Returns true if this particular ReferenceCount object has a WeakReferenceList created, false otherwise.
void | local_object ()
| This function should be called, once, immediately after creating a new instance of some ReferenceCount-derived object on the stack.
void | ref () const
| Explicitly increments the reference count.
bool | ref_if_nonzero () const
| Atomically increases the reference count of this object if it is not zero.
bool | test_ref_count_integrity () const
| Does some easy checks to make sure that the reference count isn't completely bogus.
bool | test_ref_count_nonzero () const
| Does some easy checks to make sure that the reference count isn't zero, or completely bogus.
virtual bool | unref () const
| Explicitly decrements the reference count.
bool | unref_if_one () const
| Atomically decreases the reference count of this object if it is one.
WeakReferenceList * | weak_ref ()
| Adds the indicated PointerToVoid as a weak reference to this object.
void | weak_unref ()
| Removes the indicated PointerToVoid as a weak reference to this object.
Public Member Functions inherited from Namable
| Namable (const std::string &initial_name="")
void | clear_name ()
| Resets the Namable's name to empty.
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.
void | output (std::ostream &out) const
| Outputs the Namable.
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.
static void | force_yield ()
| Suspends the current thread for the rest of the current epoch.
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 PT(Thread) bind_thread(const std const std::string & | get_sync_name () const
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.
static void | sleep (double seconds)
| Suspends the current thread for at least the indicated amount of time.
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.
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.
| 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.
| get_current_thread
| Returns a pointer to the currently-executing Thread object.
| 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.
| get_main_thread
| Returns a pointer to the "main" Thread object–this is the Thread that started the whole process.
| get_pipeline_stage
| Returns the Pipeline stage number associated with this thread.
| get_pstats_index
| Returns the PStats index associated with this thread, or -1 if no index has yet been associated with this thread.
| get_python_index
| Returns the Python index associated with this thread, or -1 if no index has yet been associated with this thread.
| get_sync_name
| Returns the sync name of the thread.
| 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.
| is_joinable
| Returns the value of joinable that was passed to the start() call.
| 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.
| is_started
| Returns true if the thread has been started, false if it has not, or if join() has already been called.
| 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).
| 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.
| set_pipeline_stage
| Specifies the Pipeline stage number associated with this thread.
Public Attributes inherited from TypedObject
| get_type
Public Attributes inherited from ReferenceCount
| get_ref_count
| Returns the current reference count.
Public Attributes inherited from Namable
| get_name
| set_name

## Detailed Description

The special "main thread" class.

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

Definition at line 24 of file mainThread.h.

## Member Function Documentation

## ◆ force_init_type()

virtual TypeHandle MainThread::force_init_type | ( |  | ) |
| inline virtual

Reimplemented from Thread.

Definition at line 42 of file mainThread.h.

## ◆ get_class_type()

static TypeHandle MainThread::get_class_type | ( |  | ) |
| inline static

Definition at line 30 of file mainThread.h.

## ◆ get_type()

virtual TypeHandle MainThread::get_type | ( |  | ) | const
| inline virtual

Reimplemented from Thread.

Definition at line 39 of file mainThread.h.

## ◆ init_type()

static void MainThread::init_type | ( |  | ) |
| inline static

Definition at line 34 of file mainThread.h.

## Friends And Related Symbol Documentation

## ◆ Thread

friend class Thread
| friend

Definition at line 47 of file mainThread.h.

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

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