## net.i2p.util
Class I2PThread

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

All Implemented Interfaces:
  java.lang.Runnable

Direct Known Subclasses:
  I2Ping.PingHandler, I2PTunnelRunner

    public class I2PThread

extends java.lang.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
`java.lang.Thread.State, java.lang.Thread.UncaughtExceptionHandler`

Field Summary

Fields inherited from class java.lang.Thread
`MAX_PRIORITY, MIN_PRIORITY, NORM_PRIORITY`

Constructor Summary
`I2PThread()`
`I2PThread(java.lang.Runnable r)`
`I2PThread(java.lang.Runnable r, java.lang.String name)`
`I2PThread(java.lang.Runnable r, java.lang.String name, boolean isDaemon)`
`I2PThread(java.lang.String name)`

Method Summary
`static void` `addOOMEventListener(I2PThread.OOMEventListener lsnr)` register a new component that wants notification of OOM events
`protected void` `finalize()`
`static void` `main(java.lang.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(java.lang.String name)

### I2PThread

    public I2PThread(java.lang.Runnable r)

### I2PThread

    public I2PThread(java.lang.Runnable r,
                     java.lang.String name)

### I2PThread

    public I2PThread(java.lang.Runnable r,
                     java.lang.String name,
                     boolean isDaemon)

Method Detail

### run

    public void run()

  Specified by:
    `run` in interface `java.lang.Runnable`
  Overrides:
    `run` in class `java.lang.Thread`

### finalize

    protected void finalize()
                     throws java.lang.Throwable

  Overrides:
    `finalize` in class `java.lang.Object`
  Throws:
    `java.lang.Throwable`

### 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(java.lang.String[] args)