True if thread Id has Property. Either or both 
arguments may be unbound, enumerating all relations on backtracking. 
Calling thread_property/2 
does not influence any thread. See also
thread_join/2. 
For threads that have an alias name, this name is returned in Id 
instead of the opaque thread identifier. Defined properties are:
- alias(Alias)
- 
Alias is the alias name of thread Id.
- detached(Boolean)
- 
Current detached status of the thread.
- id(Integer)
- 
Integer identifier for the thread. Can be used as argument to the thread 
predicates, but applications must be aware that these references are 
reused.
- status(Status)
- 
Current status of the thread. Status is one of:
- running
- 
The thread is running. This is the initial status of a thread. Please 
note that threads waiting for something are considered running too.
- suspended
- 
Only if the thread is an engine (see section 
10). Indicates that the engine is currently not associated with an 
OS thread.
- false
- 
The Goal of the thread has been completed and failed.
- true
- 
The Goal of the thread has been completed and succeeded.
- exited(Term)
- 
The Goal of the thread has been terminated using thread_exit/1 
with Term as argument. If the underlying native thread has 
exited (using pthread_exit()) Term is unbound.
- exception(Term)
- 
The Goal of the thread has been terminated due to an uncaught 
exception (see throw/1 
and catch/3).
 
- engine(Boolean)
- 
If the thread is an engine (see chapter 
10), Boolean is
true. Othwerwise the property is not present.
- thread(ThreadId)
- 
If the thread is an engine that is currently attached to a thread,
ThreadId is the thread that executes the engine.
- system_thread_id(Integer)
- 
Thread identifier used by the operating system for the calling thread. 
Not available on all OSes. This is the same as the Prolog flag
system_thread_id 
for the calling thread. Access to the system thread identifier can, on 
some systems, be used to gain additional control over or information 
about Prolog threads.
See also thread_statistics/3 
to obtain resource usage information and
message_queue_property/2 
to get the number of queued messages for a thread.