net.i2p.util

## Class I2PThread

- java.lang.Object
- - java.lang.Thread
  - - net.i2p.util.I2PThread

- All Implemented Interfaces:
    Runnable
  Direct Known Subclasses:
    I2PAppThread

      public class I2PThread
      extends Thread

  In case its useful later... (e.g. w/ native programatic thread dumping, etc)

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `static interface` | `I2PThread.OOMEventListener`

    - ### Nested classes/interfaces inherited from class java.lang.Thread

      `Thread.State, Thread.UncaughtExceptionHandler`

  - ### Field Summary

    - ### Fields inherited from class java.lang.Thread

      `MAX_PRIORITY, MIN_PRIORITY, NORM_PRIORITY`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `I2PThread()`
    `I2PThread(Runnable r)`
    `I2PThread(Runnable r, String name)`
    `I2PThread(Runnable r, String name, boolean isDaemon)`
    `I2PThread(String name)`
    `I2PThread(ThreadGroup g, Runnable r)`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `static void` | `addOOMEventListener(I2PThread.OOMEventListener lsnr)` register a new component that wants notification of OOM events
    `protected void` | `finalize()`
    `protected void` | `fireOOM(OutOfMemoryError oom)`
    `static void` | `main(String[] args)`
    `static void` | `removeOOMEventListener(I2PThread.OOMEventListener lsnr)` unregister a component that wants notification of OOM events
    `void` | `run()`

    - ### Methods inherited from class java.lang.Thread

      `activeCount, checkAccess, clone, countStackFrames, currentThread, destroy, dumpStack, enumerate, getAllStackTraces, getContextClassLoader, getDefaultUncaughtExceptionHandler, getId, getName, getPriority, getStackTrace, getState, getThreadGroup, getUncaughtExceptionHandler, holdsLock, interrupt, interrupted, isAlive, isDaemon, isInterrupted, join, join, join, resume, setContextClassLoader, setDaemon, setDefaultUncaughtExceptionHandler, setName, setPriority, setUncaughtExceptionHandler, sleep, sleep, start, stop, stop, suspend, toString, yield`

    - ### Methods inherited from class java.lang.Object

      `equals, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- - ### Constructor Detail

    - #### I2PThread

          public I2PThread()

    - #### I2PThread

          public I2PThread(String name)

    - #### I2PThread

          public I2PThread(Runnable r)

    - #### I2PThread

          public I2PThread(Runnable r,
                   String name)

    - #### I2PThread

          public I2PThread(Runnable r,
                   String name,
                   boolean isDaemon)

    - #### I2PThread

          public I2PThread(ThreadGroup g,
                   Runnable r)

  - ### Method Detail

    - #### run

          public void run()

      Specified by:
        `run` in interface `Runnable`
      Overrides:
        `run` in class `Thread`

    - #### finalize

          protected void finalize()
                           throws Throwable

      Overrides:
        `finalize` in class `Object`
      Throws:
        `Throwable`

    - #### fireOOM

          protected void fireOOM(OutOfMemoryError oom)

    - #### addOOMEventListener

          public static void addOOMEventListener(I2PThread.OOMEventListener lsnr)

      register a new component that wants notification of OOM events

    - #### removeOOMEventListener

          public static void removeOOMEventListener(I2PThread.OOMEventListener lsnr)

      unregister a component that wants notification of OOM events

    - #### main

          public static void main(String[] args)