# Spawn vs Fiber.new

**URL:** https://forum.crystal-lang.org/t/spawn-vs-fiber-new/3462
**Category:** Help & Support
**Created:** [July 3, 2021, 2:33am UTC](https://forum.crystal-lang.org/t/spawn-vs-fiber-new/3462 "2021-07-03T02:33:37Z")
**Posts on this page:** 3
**Page:** 1

<div class="post-metadata">

### Author: ![vgramkris](https://avatars.discourse-cdn.com/v4/letter/v/7ea924/32.png) [@vgramkris](https://forum.crystal-lang.org/u/vgramkris)
#### Post date: [July 3, 2021, 2:33am UTC](https://forum.crystal-lang.org/t/spawn-vs-fiber-new/3462/1 "2021-07-03T02:33:37Z")

</div>

This may be dummy question. I tried both spawn and Fiber.new and I do see they behave differently in some cases and I am sure I am not the first one to see this. All I can find about spawn in docs is [Top Level Namespace - github.com/crystal-lang/crystal](https://crystal-lang.org/api/0.20.4/toplevel.html#spawn%28%2A%2Cname%3AString%3F%3Dnil%2C%26block%29-class-method)

Is there any documentation that explains their differences in crystal that I can refer to?

---

<div class="post-metadata">

### Author: ![bcardiff](https://yyz2.discourse-cdn.com/flex036/user_avatar/forum.crystal-lang.org/bcardiff/32/3_2.png) [@bcardiff](https://forum.crystal-lang.org/u/bcardiff)
#### Post date: [July 3, 2021, 3:31am UTC](https://forum.crystal-lang.org/t/spawn-vs-fiber-new/3462/2 "2021-07-03T03:31:26Z")

</div>

Fiber.new is not aimed to be used as a public api in general. Use spawn. Spawn uses Fiber.new plus schedules the fiber for execution.

If you are developing something that needs to interact with the runtime in some very specific way for sure use Fiber.new, but in general spawn should be enough.

---

<div class="post-metadata">

### Author: ![vgramkris](https://avatars.discourse-cdn.com/v4/letter/v/7ea924/32.png) [@vgramkris](https://forum.crystal-lang.org/u/vgramkris)
#### Post date: [July 3, 2021, 3:35am UTC](https://forum.crystal-lang.org/t/spawn-vs-fiber-new/3462/3 "2021-07-03T03:35:32Z")

</div>

Thanks for clarifying @bcardiff, this helps
