Thread Without Synchronization In Java : An application that creates an instance of Thread must provide the code that will run in that thread. There are two ways to do this: Provide a Runnable object. Subclass Thread. The Thread class itself implements Runnable, though its run method does nothing. To know in details you may visit oracle documentation for threads.