In Java, what is a thread?
A method within the main application
A subprocess or subtask with a shared context with other threads of the same application
A type of memory allocation
A separate process independent of the main application