*current-thread*

Use of this variable is deprecated. Call excl:current-thread instead. If used, a
warning will be signaled. the old description of this variable
follows.

The symbol sys:*current-thread* names a
symbol-macro which when executed returns the current thread. Note,
despite being called a "variable", this symbol does not have a
value. Evaluating the symbol results in the current thread as a return
value, but applying boundp to
this symbol returns nil and applying symbol-value to it results in an
error. (We call it a "variable" because we do not really have a
documentation category that fits it otherwise.)

sys:*current-thread*
is implemented as a symbol-macro because doing so is much more
efficient, getting the value in just several instructions without even
needing, on some platforms, a memory reference.

The distinction between
thread and process is arcane, but the most important thing is this:

Thread objects are simple static structures that contain the
information used to schedule.