Package org.springframework.core.task

# Class SyncTaskExecutor

java.lang.Object
org.springframework.core.task.SyncTaskExecutor

All Implemented Interfaces:
  `Serializable`, `Executor`, `TaskExecutor`

public class SyncTaskExecutor extends Object implements TaskExecutor, Serializable
`TaskExecutor` implementation that executes each task synchronously in the calling thread. Mainly intended for testing scenarios.

Execution in the calling thread does have the advantage of participating in its thread context, for example the thread context class loader or the thread's current transaction association. That said, in many cases, asynchronous execution will be preferable: choose an asynchronous `TaskExecutor` instead for such scenarios.

Since:
  2.0
Author:
  Juergen Hoeller
See Also:
  - `SimpleAsyncTaskExecutor`
  - Serialized Form

## Constructor Summary

Constructors
Constructor
Description
`SyncTaskExecutor()`

## Method Summary

Modifier and Type
Method
Description
`void`
`execute(Runnable task)`
Execute the given `task` synchronously, through direct invocation of its `run()` method.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Constructor Details

### SyncTaskExecutor

public SyncTaskExecutor()

## Method Details

### execute

public void execute(Runnable task)
Execute the given `task` synchronously, through direct invocation of its `run()` method.

Specified by:
  `execute` in interface `Executor`
Specified by:
  `execute` in interface `TaskExecutor`
Parameters:
  `task` - the `Runnable` to execute (never `null`)
Throws:
  `RuntimeException` - if propagated from the given `Runnable`