# Sandbox.TaskSource.RunInThreadAsync

## Overload 1

```csharp
System.Threading.Tasks.Task RunInThreadAsync(System.Action action)
```

### Parameters

- `action` (`System.Action`)

### Returns

`System.Threading.Tasks.Task`

## Overload 2

```csharp
System.Threading.Tasks.Task<T> RunInThreadAsync(System.Func<T> func)
```

### Parameters

- `func` (`System.Func<T>`)

### Returns

`System.Threading.Tasks.Task<T>`

## Overload 3

```csharp
System.Threading.Tasks.Task RunInThreadAsync(System.Func<System.Threading.Tasks.Task> task)
```

### Parameters

- `task` (`System.Func<System.Threading.Tasks.Task>`)

### Returns

`System.Threading.Tasks.Task`

## Overload 4

```csharp
System.Threading.Tasks.Task<T> RunInThreadAsync(System.Func<System.Threading.Tasks.Task<T>> task)
```

### Parameters

- `task` (`System.Func<System.Threading.Tasks.Task<T>>`)

### Returns

`System.Threading.Tasks.Task<T>`

Declared in [Sandbox.TaskSource](/api/Sandbox.TaskSource).
Assembly: `Sandbox.Engine`.
