Logo Search packages:      
Sourcecode: jruby1.1 version File versions

org::jruby::RubyThread Class Reference

Inheritance diagram for org::jruby::RubyThread:

org::jruby::RubyObject org::jruby::runtime::builtin::IRubyObject org::jruby::runtime::builtin::InstanceVariables org::jruby::runtime::builtin::InternalVariables

List of all members.


Detailed Description

Implementation of Ruby's Thread class. Each Ruby thread is mapped to an underlying Java Virtual Machine thread.

Thread encapsulates the behavior of a thread of execution, including the main thread of the Ruby script. In the descriptions that follow, the parameter aSymbol refers to a symbol, which is either a quoted string or a Symbol (such as :name).

Note: For CVS history, see ThreadClass.java.

Definition at line 76 of file RubyThread.java.


Public Member Functions

RubyBoolean abort_on_exception ()
IRubyObject abort_on_exception_set (IRubyObject val)
void addFinalizer (IRubyObject finalizer)
void afterBlockingCall ()
RubyBoolean alive_p ()
IRubyObject anyToString ()
IRubyObject as (Class javaClass)
String asJavaString ()
RubyString asString ()
void attachToObjectSpace ()
void beforeBlockingCall ()
final void callInit (IRubyObject[] args, Block block)
final IRubyObject callMethod (ThreadContext context, int methodIndex, String name, IRubyObject arg)
final IRubyObject callMethod (ThreadContext context, int methodIndex, String name)
final IRubyObject callMethod (ThreadContext context, String name, IRubyObject[] args, Block block)
final IRubyObject callMethod (ThreadContext context, String name, IRubyObject[] args)
final IRubyObject callMethod (ThreadContext context, String name, IRubyObject arg)
final IRubyObject callMethod (ThreadContext context, String name)
IRubyObject callSuper (ThreadContext context, IRubyObject[] args, Block block)
IRubyObject checkArrayType ()
IRubyObject checkStringType ()
synchronized void cleanTerminate (IRubyObject result)
RubyArray convertToArray ()
RubyFloat convertToFloat ()
RubyHash convertToHash ()
RubyInteger convertToInteger (int convertMethodIndex, String convertMethod)
RubyInteger convertToInteger ()
RubyString convertToString ()
final IRubyObject convertToType (RubyClass target, int convertMethodIndex)
synchronized Object dataGetStruct ()
synchronized void dataWrapStruct (Object obj)
IRubyObject display (ThreadContext context, IRubyObject[] args)
void dispose ()
IRubyObject dup ()
boolean eql (IRubyObject other)
IRubyObject eql_p (IRubyObject obj)
IRubyObject equal_p (ThreadContext context, IRubyObject obj)
boolean equals (Object other)
IRubyObject evalUnder (final ThreadContext context, RubyModule under, RubyString src, String file, int line)
IRubyObject evalUnder (final ThreadContext context, RubyModule under, IRubyObject src, IRubyObject file, IRubyObject line)
void exceptionRaised (RaiseException exception)
IRubyObject extend (IRubyObject[] args)
IRubyObject fastGetInstanceVariable (String internedName)
IRubyObject fastGetInternalVariable (String internedName)
boolean fastHasInstanceVariable (String internedName)
boolean fastHasInternalVariable (String internedName)
IRubyObject fastSetInstanceVariable (String internedName, IRubyObject value)
void fastSetInternalVariable (String internedName, IRubyObject value)
IRubyObject freeze (ThreadContext context)
RubyBoolean frozen_p (ThreadContext context)
final boolean getFlag (int flag)
IRubyObject getInstanceVariable (String name)
List< Variable< IRubyObject > > getInstanceVariableList ()
List< String > getInstanceVariableNameList ()
InstanceVariables getInstanceVariables ()
IRubyObject getInternalVariable (String name)
List< Variable< IRubyObject > > getInternalVariableList ()
InternalVariables getInternalVariables ()
Class getJavaClass ()
final RubyClass getMetaClass ()
int getNativeTypeIndex ()
final Ruby getRuntime ()
RubyClass getSingletonClass ()
RubyClass getType ()
int getVariableCount ()
List< Variable< IRubyObject > > getVariableList ()
Map getVariableMap ()
List< String > getVariableNameList ()
IRubyObject group ()
RubyFixnum hash ()
int hashCode ()
boolean hasInstanceVariable (String name)
boolean hasInternalVariable (String name)
boolean hasVariables ()
synchronized IRubyObject id ()
synchronized IRubyObject id_deprecated ()
IRubyObject infectBy (IRubyObject obj)
IRubyObject initialize ()
IRubyObject initialize (IRubyObject[] args, Block block)
IRubyObject initialize_copy (IRubyObject original)
IRubyObject inspect ()
IRubyObject instance_eval (ThreadContext context, IRubyObject[] args, Block block)
IRubyObject instance_eval (ThreadContext context, IRubyObject arg0, IRubyObject arg1, IRubyObject arg2, Block block)
IRubyObject instance_eval (ThreadContext context, IRubyObject arg0, IRubyObject arg1, Block block)
IRubyObject instance_eval (ThreadContext context, IRubyObject arg0, Block block)
IRubyObject instance_eval (ThreadContext context, Block block)
IRubyObject instance_exec (ThreadContext context, IRubyObject[] args, Block block)
RubyBoolean instance_of_p (ThreadContext context, IRubyObject type)
IRubyObject instance_variable_defined_p (ThreadContext context, IRubyObject name)
IRubyObject instance_variable_get (ThreadContext context, IRubyObject name)
IRubyObject instance_variable_set (IRubyObject name, IRubyObject value)
RubyArray instance_variables (ThreadContext context)
void interrupt ()
boolean isClass ()
final boolean isFalse ()
boolean isFrozen ()
boolean isImmediate ()
boolean isModule ()
final boolean isNil ()
boolean isTaint ()
final boolean isTrue ()
IRubyObject join (IRubyObject[] args)
RubyBoolean key_p (IRubyObject key)
RubyArray keys ()
IRubyObject kill ()
IRubyObject kill_bang ()
RubyBoolean kind_of_p (ThreadContext context, IRubyObject type)
RubyClass makeMetaClass (RubyClass superClass)
IRubyObject method (IRubyObject symbol)
IRubyObject methods (ThreadContext context, IRubyObject[] args)
IRubyObject nil_p (ThreadContext context)
IRubyObject op_aref (IRubyObject key)
IRubyObject op_aset (IRubyObject key, IRubyObject value)
IRubyObject op_eqq (ThreadContext context, IRubyObject other)
IRubyObject op_equal (ThreadContext context, IRubyObject obj)
IRubyObject op_match (ThreadContext context, IRubyObject arg)
void pollThreadEvents (ThreadContext context)
void pollThreadEvents ()
RubyFixnum priority ()
IRubyObject priority_set (IRubyObject priority)
IRubyObject private_methods (ThreadContext context, IRubyObject[] args)
IRubyObject protected_methods (ThreadContext context, IRubyObject[] args)
IRubyObject public_methods (ThreadContext context, IRubyObject[] args)
IRubyObject raise (IRubyObject[] args, Block block)
IRubyObject rbClone ()
IRubyObject remove_instance_variable (ThreadContext context, IRubyObject name, Block block)
void removeFinalizers ()
IRubyObject removeInstanceVariable (String name)
IRubyObject removeInternalVariable (String name)
RubyBoolean respond_to_p (IRubyObject mname, IRubyObject includePrivate)
RubyBoolean respond_to_p (IRubyObject mname)
final boolean respondsTo (String name)
IRubyObject run ()
IRubyObject safe_level ()
boolean select (RubyIO io, int ops)
boolean selectForAccept (RubyIO io)
IRubyObject send (ThreadContext context, IRubyObject[] args, Block block)
IRubyObject send (ThreadContext context, IRubyObject arg0, IRubyObject arg1, IRubyObject arg2, Block block)
IRubyObject send (ThreadContext context, IRubyObject arg0, IRubyObject arg1, Block block)
IRubyObject send (ThreadContext context, IRubyObject arg0, Block block)
IRubyObject send (ThreadContext context, Block block)
final void setFlag (int flag, boolean set)
void setFrozen (boolean frozen)
IRubyObject setInstanceVariable (String name, IRubyObject value)
void setInternalVariable (String name, IRubyObject value)
void setMetaClass (RubyClass metaClass)
void setTaint (boolean taint)
RubyArray singleton_methods (ThreadContext context, IRubyObject[] args)
void sleep (long millis) throws InterruptedException
IRubyObject specificEval (ThreadContext context, RubyModule mod, IRubyObject arg0, IRubyObject arg1, IRubyObject arg2, Block block)
IRubyObject specificEval (ThreadContext context, RubyModule mod, IRubyObject arg0, IRubyObject arg1, Block block)
IRubyObject specificEval (ThreadContext context, RubyModule mod, IRubyObject arg, Block block)
IRubyObject specificEval (ThreadContext context, RubyModule mod, Block block)
IRubyObject specificEval (ThreadContext context, RubyModule mod, IRubyObject[] args, Block block)
IRubyObject status ()
RubyBoolean stop_p ()
void syncVariables (List< Variable< IRubyObject >> variables)
IRubyObject taint (ThreadContext context)
RubyBoolean tainted_p (ThreadContext context)
RubyArray to_a ()
IRubyObject to_java ()
IRubyObject to_s ()
String toString ()
RubyClass type ()
RubyClass type_deprecated ()
IRubyObject untaint (ThreadContext context)
IRubyObject value ()
RubyThread wakeup ()

Static Public Member Functions

static IRubyObject abort_on_exception_set_x (IRubyObject recv, IRubyObject value)
static RubyBoolean abort_on_exception_x (IRubyObject recv)
static RubyThread adopt (IRubyObject recv, Thread t)
static RubyClass createObjectClass (Ruby runtime, RubyClass objectClass)
static RubyClass createThreadClass (Ruby runtime)
static IRubyObject critical (IRubyObject receiver)
static IRubyObject critical_set (IRubyObject receiver, IRubyObject value)
static RubyThread current (IRubyObject recv)
static IRubyObject kill (IRubyObject receiver, IRubyObject rubyThread, Block block)
static RubyArray list (IRubyObject recv)
static RubyThread main (IRubyObject recv)
static RubyThread mainThread (IRubyObject receiver)
static IRubyObject newInstance (IRubyObject recv, IRubyObject[] args, Block block)
static IRubyObject pass (IRubyObject recv)
static void puts (Object obj)
static IRubyObject s_exit (IRubyObject receiver, Block block)
static RubyThread start (IRubyObject recv, IRubyObject[] args, Block block)
static IRubyObject stop (IRubyObject receiver)

Public Attributes

Object killLock = new Object()
final ReentrantLock lock = new ReentrantLock()
Object stopLock = new Object()

Static Public Attributes

static final int ALL_F = -1
static final int FALSE_F = 1 << 0
static final int FL_USHIFT = 4
static final int FROZEN_F = 1 << 2
static final IRubyObject NEVER = new RubyObject()
static final int NIL_F = 1 << 1
static final IRubyObject[] NULL_ARRAY = new IRubyObject[0]
static final ObjectAllocator OBJECT_ALLOCATOR
static final int TAINTED_F = 1 << 3
static final IRubyObject UNDEF = new RubyObject()
static final int USER0_F = (1<<(FL_USHIFT+0))
static final int USER1_F = (1<<(FL_USHIFT+1))
static final int USER2_F = (1<<(FL_USHIFT+2))
static final int USER3_F = (1<<(FL_USHIFT+3))
static final int USER4_F = (1<<(FL_USHIFT+4))
static final int USER5_F = (1<<(FL_USHIFT+5))
static final int USER6_F = (1<<(FL_USHIFT+6))
static final int USER7_F = (1<<(FL_USHIFT+7))

Protected Member Functions

void checkFrozen ()
void copySpecialInstanceVariables (IRubyObject clone)
void ensureInstanceVariablesSettable ()
RubyClass getSingletonClassClone ()
 RubyThread (Ruby runtime, RubyClass type)
final void testFrozen (String message)
String validateInstanceVariable (String name)
boolean variableTableContains (String name)
boolean variableTableFastContains (String internedName)
IRubyObject variableTableFastFetch (String internedName)
IRubyObject variableTableFastStore (String internedName, IRubyObject value)
IRubyObject variableTableFetch (String name)
Map variableTableGetMap (Map map)
Map variableTableGetMap ()
int variableTableGetSize ()
VariableTableEntry[] variableTableGetTable ()
synchronized IRubyObject variableTableReadLocked (VariableTableEntry entry)
final VariableTableEntry[] variableTableRehash ()
IRubyObject variableTableRemove (String name)
IRubyObject variableTableStore (String name, IRubyObject value)
void variableTableSync (List< Variable< IRubyObject >> vars)

Static Protected Member Functions

static boolean eqlInternal (final ThreadContext context, final IRubyObject that, final IRubyObject other)
static boolean equalInternal (final ThreadContext context, final IRubyObject that, final IRubyObject other)
static final boolean isRubyVariable (String name)

Protected Attributes

transient Object dataStruct
int flags
transient RubyClass metaClass
transient volatile
VariableTableEntry[] 
variableTable
transient int variableTableSize
transient int variableTableThreshold

Static Protected Attributes

static final String ERR_INSECURE_SET_INST_VAR = "Insecure: can't modify instance variable"
static final int VARIABLE_TABLE_DEFAULT_CAPACITY = 8
static final VariableTableEntry[] VARIABLE_TABLE_EMPTY_TABLE = new VariableTableEntry[0]
static final float VARIABLE_TABLE_LOAD_FACTOR = 0.75f
static final int VARIABLE_TABLE_MAXIMUM_CAPACITY = 1 << 30

Package Functions

void setThreadGroup (RubyThreadGroup rubyThreadGroup)

Static Package Functions

static RubyString inspect (ThreadContext context, IRubyObject object)

Private Member Functions

boolean abortOnException (Ruby runtime)
void ensureNotCurrent ()
IRubyObject getSymbolKey (IRubyObject originalKey)
synchronized Map< IRubyObject,
IRubyObject
getThreadLocals ()
boolean isCurrent ()
IRubyObject prepareRaiseException (Ruby runtime, IRubyObject[] args, Block block)
void receivedAnException (ThreadContext context)
void throwThreadKill ()

Static Private Member Functions

static RubyThread adoptThread (final IRubyObject recv, Thread t, Block block)
static RubyThread startThread (final IRubyObject recv, final IRubyObject[] args, boolean callInit, Block block)

Private Attributes

boolean abortOnException
Selector currentSelector
RaiseException exitingException
IRubyObject finalResult
volatile boolean isDead = false
volatile boolean isStopped = false
volatile boolean killed = false
RubyFixnum priority
IRubyObject receivedException
RubyThreadGroup threadGroup
ThreadLike threadImpl
transient Map< IRubyObject,
IRubyObject
threadLocalVariables
final ThreadService threadService

Static Private Attributes

static final boolean DEBUG = false

The documentation for this class was generated from the following file:

Generated by  Doxygen 1.6.0   Back to index