## 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
`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
`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
`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, 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
`clone, 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)