Thread (Runnable runnable, ThreadGroup grp, string name)
{
thread = new System.Threading.Thread (new ThreadStart (InternalRun));
this.runnable = runnable ?? this;
tgroup = grp ?? defaultGroup;
tgroup.Add (this);
if (name != null)
thread.Name = name;
}