> ## Documentation Index
> Fetch the complete documentation index at: https://docsuncv2.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# is_parallel

Checks whether the current thread is running in parallel.

```luau theme={null}
is_parallel(): boolean
```

Roblox runs most code on one serial thread. Code inside an [Actor](https://create.roblox.com/docs/reference/engine/classes/Actor) that has called `task.desynchronize()` runs in parallel instead - it is desynchronized. `task.synchronize()` brings that thread back to serial. `is_parallel()` reports which side the thread that calls it is on right now.

A parallel thread can read values from the game, but it cannot change some of them. Call `is_parallel()` before a write and run `task.synchronize()` first if it returns `true`.

* [Parallel Luau](https://create.roblox.com/docs/scripting/multithreading) - Roblox multithreading concepts: Actors, desynchronize, synchronize.

## Returns

`boolean` - `true` if the calling thread is currently parallel, `false` if it is serial.

## Aliases

* `isparallel`

## Example

<CodeGroup>
  ```luau Example 1 theme={null}
  local is_parallel: boolean = is_parallel()
  ```

  ```luau Example 2 theme={null}
  local Actor = getactors()[1]
  run_on_actor(Actor, [[
  print(is_parallel()) -- false: serial by default

  task.desynchronize()
  print(is_parallel()) -- true: now parallel

  task.synchronize()
  print(is_parallel()) -- false again
  ]])
  ```
</CodeGroup>

<Tip>
  Always check parameters and return values when working with this library function.
</Tip>
