indexing
	description: "Class defining an Eiffel thread."
	status: "See notice at end of class."
	date: "$Date$"
	revision: "$Revision$"

deferred class interface
	THREAD

feature -- Access

	thread_id: POINTER
			-- Pointer to the thread-id of the current thread object.
	
feature -- Basic operations

	execute
			-- Routine executed by new thread.

	join
			-- The calling thread waits for the current child thread to
			-- terminate.
			-- (from THREAD_CONTROL)

	join_all
			-- The calling thread waits for all other threads to terminate.
			-- (from THREAD_CONTROL)

	launch
			-- Initialize a new thread running execute.

	launch_with_attributes (attr: THREAD_ATTRIBUTES)
			-- Initialize a new thread running execute, using attributes.

	native_join (term: POINTER)
			-- Same as join except that the low-level architecture-dependant
			-- routine is used. The thread must not be created detached.
			-- (from THREAD_CONTROL)

	yield
			-- The calling thread yields its execution in favor of another
			-- thread.
			-- (from THREAD_CONTROL)
	
invariant

		-- from ANY
	reflexive_equality: standard_is_equal (Current)
	reflexive_conformance: conforms_to (Current)

end -- class THREAD