.. wxPython Phoenix documentation

   This file was generated by Phoenix's sphinx generator and associated
   tools, do not edit by hand.

   Copyright: (c) 2011-2025 by Total Control Software
   License:   wxWindows License

.. include:: headings.inc

.. currentmodule:: wx.lib.delayedresult

.. highlight:: python



.. _wx.lib.delayedresult.Producer:

==========================================================================================================================================
|phoenix_title|  **wx.lib.delayedresult.Producer**
==========================================================================================================================================

Represent the worker thread that produces delayed results.
It causes the given function to run in a separate thread,
and a sender to be used to send the return value of the function.
As with any threading.Thread, instantiate and call start().
Note that if the workerFn raises AbortedException, the result is not
sent and the thread terminates gracefully.



|

|class_hierarchy| Class Hierarchy
=================================

.. raw:: html

   <div class="collabsible-wrapper">
      <input id="collapsible-inheritance" class="collapsible-checkbox" type="checkbox">
      <label for="collapsible-inheritance" tabindex="0" title="Show inheritance diagram" class="collapsible-label">Inheritance diagram for class <strong>Producer</strong>:</label>
      <div class="collapsible-content">
         <p class="graphviz">
            <center><img src="_static/images/inheritance/wx.lib.delayedresult.Producer_inheritance.svg" alt="Inheritance diagram of Producer" usemap="#dummy" class="inheritance invert-in-dark-mode"/></center>
            <map id="dummy" name="dummy"> <area shape="rect" id="node1" href="wx.lib.delayedresult.Producer.html" title="Represent the worker thread that produces delayed results." alt="" coords="5,82,244,111"/> <area shape="rect" id="node2" href="https://docs.python.org/3/library/threading.html#threading.Thread" title="threading.Thread" alt="" coords="49,5,200,34"/> </map> 
         </p>
      </div>
   </div>
   <script type="text/javascript" src="_static/inheritancetoggle.js"></script>



|


|super_classes| Known Superclasses
==================================

`threading.Thread <https://docs.python.org/3/library/threading.html#threading.Thread>`_

|


|method_summary| Methods Summary
================================

================================================================================ ================================================================================
:meth:`~wx.lib.delayedresult.Producer.__init__`                                  The sender will send the return value of
================================================================================ ================================================================================


|


|api| Class API
===============


.. class:: Producer(threading.Thread)

   Represent the worker thread that produces delayed results.
   It causes the given function to run in a separate thread,
   and a sender to be used to send the return value of the function.
   As with any threading.Thread, instantiate and call start().
   Note that if the workerFn raises AbortedException, the result is not
   sent and the thread terminates gracefully.

   .. method:: __init__(self, sender, workerFn, args=(), kwargs={}, name=None, group=None, daemon=False, sendReturn=True, senderArg=None)

      The sender will send the return value of
      `workerFn(*args, **kwargs)` to the main thread. The name and group
      are same as threading.Thread constructor parameters. Daemon causes
      setDaemon() to be called. If sendReturn is False, then the return
      value of workerFn() will not be sent. If senderArg is given, it
      must be the name of the keyword arg to use to pass the sender into
      the workerFn, so the function can send (typically many) results.


