# gevent

# `gevent.threading` – Implementation of the standard `threading` using greenlets

Implementation of the standard `threading` using greenlets.

Note

This module is a helper for `gevent.monkey` and is not intended to be used directly. For spawning greenlets in your applications, prefer higher level constructs like `gevent.Greenlet` class or `gevent.spawn()`. Attributes in this module like `__threading__` are implementation artifacts subject to change at any time.

Changed in version 1.2.3: Defer adjusting the stdlib’s list of active threads until we are monkey patched. Previously this was done at import time. We are documented to only be used as a helper for monkey patching, so this should functionally be the same, but some applications ignore the documentation and directly import this module anyway.

A positive consequence is that `import gevent.threading, threading; threading.current_thread()` will no longer return a DummyThread before monkey-patching.

class Thread(group=None, target=None, name=None, args=(), kwargs=None, *, daemon=None)

  Bases: `threading.Thread`

  This constructor should always be called with keyword arguments. Arguments are:

  group should be None; reserved for future extension when a ThreadGroup class is implemented.

  target is the callable object to be invoked by the run() method. Defaults to None, meaning nothing is called.

  name is the thread name. By default, a unique name is constructed of the form “Thread-N” where N is a small decimal number.

  args is the argument tuple for the target invocation. Defaults to ().

  kwargs is a dictionary of keyword arguments for the target invocation. Defaults to {}.

  If a subclass overrides the constructor, it must make sure to invoke the base class constructor (Thread.__init__()) before doing anything else to the thread.

class Timer(interval, function, args=None, kwargs=None)

  Bases: `gevent.threading.Thread`, `threading.Timer`

  This constructor should always be called with keyword arguments. Arguments are:

  group should be None; reserved for future extension when a ThreadGroup class is implemented.

  target is the callable object to be invoked by the run() method. Defaults to None, meaning nothing is called.

  name is the thread name. By default, a unique name is constructed of the form “Thread-N” where N is a small decimal number.

  args is the argument tuple for the target invocation. Defaults to ().

  kwargs is a dictionary of keyword arguments for the target invocation. Defaults to {}.

  If a subclass overrides the constructor, it must make sure to invoke the base class constructor (Thread.__init__()) before doing anything else to the thread.

Next page: `gevent.threadpool` - A pool of native threads