GAE/J applications are not allowed to start additional threads.
Task queues guarantee eventual, hence not necessarily parallel, execution of tasks. Task queues retry (a certain number of times) executions of tasks in case of failures. Task queues can execute items e.g. a URL to another servlet,
a DeferredTask which inherits Java’s Runnable interface.
A separate process is created for each task by the GAE/J.
Such processes may run in parallel depending on the available computational resources.
One limitation is that individual tasks in a task queue cannot run for longer than ten minutes unless they are run on a backend instance.