# system.util.invokeAsynchronous threading details

**URL:** <https://forum.inductiveautomation.com/t/system-util-invokeasynchronous-threading-details/91221>\
**Category:** Ignition\
**Tags:** ignition81, scripting\
**Created:** [May 31, 2024, 7:30pm UTC](https://forum.inductiveautomation.com/t/system-util-invokeasynchronous-threading-details/91221 "2024-05-31T19:30:19Z")\
**Posts on this page:** 1\
**Showing post:** 7

<div class="post-metadata">

**Author:** ![paul-griffith](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/paul-griffith/32/37249_2.png) [@paul-griffith](https://forum.inductiveautomation.com/u/paul-griffith)\
**Post date:** [February 3, 2025, 4:39pm UTC](https://forum.inductiveautomation.com/t/system-util-invokeasynchronous-threading-details/91221/7 "2025-02-03T16:39:40Z")

</div>

You could also, with [some amount of effort](https://forum.inductiveautomation.com/t/issues-when-using-system-util-invokeasynchronous-i-get-a-nonetype-object-is-not-callable-error/97022/11), use the standard libraries' built in ForkJoinPool used for the `CompletableFuture` API. If we were designing `invokeAsynchronous` again from scratch, this is what we'd almost certainly use 'under the hood', but the function predates `CompletableFuture` entirely.

---

_[View the full topic](https://forum.inductiveautomation.com/t/system-util-invokeasynchronous-threading-details/91221)._
