2006-06-09 Tom Tromey <tromey@redhat.com>
+ PR libgcj/27730:
+ * java/lang/Thread.java (threadId): New field.
+ (nextThreadId): New static field.
+ (Thread): Initialize new field.
+ (getId): New method.
+
+2006-06-09 Tom Tromey <tromey@redhat.com>
+
* java/lang/Class.java (getClassLoaderInternal): Now native.
2006-06-09 Thomas Fitzsimmons <fitzsim@redhat.com>
/** The context classloader for this Thread. */
private ClassLoader contextClassLoader;
+ /** This thread's ID. */
+ private final long threadId;
+
+ /** The next thread ID to use. */
+ private static long nextThreadId;
+
/** The default exception handler. */
private static UncaughtExceptionHandler defaultHandler;
}
else
group = g;
-
+
data = null;
interrupt_flag = false;
alive_flag = false;
startable_flag = true;
+ synchronized (Thread.class)
+ {
+ this.threadId = nextThreadId++;
+ }
+
if (current != null)
{
group.checkAccess();
return defaultHandler;
}
+ /**
+ * Returns the unique identifier for this thread. This ID is generated
+ * on thread creation, and may be re-used on its death.
+ *
+ * @return a positive long number representing the thread's ID.
+ * @since 1.5
+ */
+ public long getId()
+ {
+ return threadId;
+ }
+
/**
* <p>
* This interface is used to handle uncaught exceptions