.. DO NOT EDIT THIS FILE!!! .. Generated automatically from Godot engine sources. .. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py. .. XML source: https://github.com/godotengine/godot/tree/master/docs/gdscript/jam_launch/JamThreadHelper.xml. .. _class_JamThreadHelper: JamThreadHelper =============== **Inherits:** :ref:`Node` **<** :ref:`Object` A :ref:`Node` that provides utilities for simplifying common :ref:`Thread` operations .. rst-class:: classref-reftable-group Properties ---------- .. table:: :widths: auto +-------------------------------------+------------------------------------------------------------------------------+-----------+ | :ref:`Mutex` | :ref:`_product_mtx` | ``new()`` | +-------------------------------------+------------------------------------------------------------------------------+-----------+ | :ref:`Dictionary` | :ref:`_product_map` | ``{}`` | +-------------------------------------+------------------------------------------------------------------------------+-----------+ | :ref:`Timer` | :ref:`_lazy_timer` | | +-------------------------------------+------------------------------------------------------------------------------+-----------+ | :ref:`Timer` | :ref:`_thread_wait_timer` | | +-------------------------------------+------------------------------------------------------------------------------+-----------+ .. rst-class:: classref-reftable-group Methods ------- .. table:: :widths: auto +-----------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`JamThreadHelper.ThreadProduct` | :ref:`take_product` **(** :ref:`int` id **)** | +-----------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`put_product` **(** :ref:`int` id, :ref:`JamThreadHelper.ThreadProduct` product **)** | +-----------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`producer_wrapper` **(** :ref:`int` id, :ref:`Callable` producer **)** | +-----------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`JamThreadHelper.ProducerHandle` | :ref:`_add_a_producer` **(** :ref:`Callable` producer **)** | +-----------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`JamThreadHelper.ThreadProduct` | :ref:`run_threaded_producer` **(** :ref:`Callable` producer **)** | +-----------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`JamThreadHelper.ThreadProduct[]` | :ref:`run_multiple_producers` **(** :ref:`Callable[]` producers **)** | +-----------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ .. rst-class:: classref-section-separator ---- .. rst-class:: classref-descriptions-group Property Descriptions --------------------- .. _class_JamThreadHelper_property__product_mtx: .. rst-class:: classref-property :ref:`Mutex` **_product_mtx** = ``new()`` .. container:: contribute There is currently no description for this property. Please help us by :ref:`contributing one `! .. rst-class:: classref-item-separator ---- .. _class_JamThreadHelper_property__product_map: .. rst-class:: classref-property :ref:`Dictionary` **_product_map** = ``{}`` .. container:: contribute There is currently no description for this property. Please help us by :ref:`contributing one `! .. rst-class:: classref-item-separator ---- .. _class_JamThreadHelper_property__lazy_timer: .. rst-class:: classref-property :ref:`Timer` **_lazy_timer** .. container:: contribute There is currently no description for this property. Please help us by :ref:`contributing one `! .. rst-class:: classref-item-separator ---- .. _class_JamThreadHelper_property__thread_wait_timer: .. rst-class:: classref-property :ref:`Timer` **_thread_wait_timer** .. rst-class:: classref-property-setget - :ref:`Timer` **@_thread_wait_timer_getter** **(** **)** .. container:: contribute There is currently no description for this property. Please help us by :ref:`contributing one `! .. rst-class:: classref-section-separator ---- .. rst-class:: classref-descriptions-group Method Descriptions ------------------- .. _class_JamThreadHelper_method_take_product: .. rst-class:: classref-method :ref:`JamThreadHelper.ThreadProduct` **take_product** **(** :ref:`int` id **)** .. container:: contribute There is currently no description for this method. Please help us by :ref:`contributing one `! .. rst-class:: classref-item-separator ---- .. _class_JamThreadHelper_method_put_product: .. rst-class:: classref-method void **put_product** **(** :ref:`int` id, :ref:`JamThreadHelper.ThreadProduct` product **)** .. container:: contribute There is currently no description for this method. Please help us by :ref:`contributing one `! .. rst-class:: classref-item-separator ---- .. _class_JamThreadHelper_method_producer_wrapper: .. rst-class:: classref-method void **producer_wrapper** **(** :ref:`int` id, :ref:`Callable` producer **)** .. container:: contribute There is currently no description for this method. Please help us by :ref:`contributing one `! .. rst-class:: classref-item-separator ---- .. _class_JamThreadHelper_private_method__add_a_producer: .. rst-class:: classref-method :ref:`JamThreadHelper.ProducerHandle` **_add_a_producer** **(** :ref:`Callable` producer **)** .. container:: contribute There is currently no description for this method. Please help us by :ref:`contributing one `! .. rst-class:: classref-item-separator ---- .. _class_JamThreadHelper_method_run_threaded_producer: .. rst-class:: classref-method :ref:`JamThreadHelper.ThreadProduct` **run_threaded_producer** **(** :ref:`Callable` producer **)** An awaitable function that runs a thread-safe function on a separate thread and retrieves the return value. Useful for async-ifying functions and retrieving their result. .. rst-class:: classref-item-separator ---- .. _class_JamThreadHelper_method_run_multiple_producers: .. rst-class:: classref-method :ref:`JamThreadHelper.ThreadProduct[]` **run_multiple_producers** **(** :ref:`Callable[]` producers **)** .. container:: contribute There is currently no description for this method. Please help us by :ref:`contributing one `! .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)` .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)` .. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)` .. |constructor| replace:: :abbr:`constructor (This method is used to construct a type.)` .. |static| replace:: :abbr:`static (This method doesn't need an instance to be called, so it can be called directly using the class name.)` .. |operator| replace:: :abbr:`operator (This method describes a valid operator to use with this type as left-hand operand.)` .. |bitfield| replace:: :abbr:`BitField (This value is an integer composed as a bitmask of the following flags.)`