While it is technically correct to use a ``++Thread++`` where a ``++Runnable++`` is called for, the semantics of the two objects are different, and mixing them is a bad practice that will likely lead to headaches in the future.
The crux of the issue is that ``++Thread++`` is a larger concept than ``++Runnable++``. A ``++Runnable++`` is an object whose running should be managed. A ``++Thread++`` expects to manage the running of itself or other ``++Runnables++``.