# Standalone applications and multicore CPUs

**URL:** <https://forum.juce.com/t/standalone-applications-and-multicore-cpus/11846>\
**Category:** General JUCE discussion\
**Created:** [November 13, 2013, 8:27am UTC](https://forum.juce.com/t/standalone-applications-and-multicore-cpus/11846 "2013-11-13T08:27:59Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![juan1979](https://avatars.discourse-cdn.com/v4/letter/j/b487fb/32.png) [@juan1979](https://forum.juce.com/u/juan1979)\
**Post date:** [November 13, 2013, 8:27am UTC](https://forum.juce.com/t/standalone-applications-and-multicore-cpus/11846/1 "2013-11-13T08:27:59Z")

</div>

I'm developing a **standalone application** (not a plugin) which is able to load multiple plugin instances. It's very important for the project that each plugin (or a group of them) run in its own **kernel level thread** , taking advantage of the **multicore CPUs**.

I didn't find any example or documentation about how to do it. Can I do it with Juce? (maybe in a future?) If I can, where can I see any example or documentation? Maybe with third party libraries? Any tip will be welcome!

---

<div class="post-metadata">

**Author:** ![jules](https://avatars.discourse-cdn.com/v4/letter/j/41988e/32.png) [@jules](https://forum.juce.com/u/jules)\
**Post date:** [November 13, 2013, 9:00am UTC](https://forum.juce.com/t/standalone-applications-and-multicore-cpus/11846/2 "2013-11-13T09:00:21Z")

</div>

In C++, all threads are "kernel level" threads.&nbsp;Obviously juce has a ton of threading classes, you won't need anything else.&nbsp;

But.. having recently implemented parallel plugin rendering in Tracktion, I should warn you that getting&nbsp;a&nbsp;pool of threads to render and combine their output&nbsp;with a low enough latency for realtime playback&nbsp;will require _ninja-level_ mastery of non-blocking&nbsp;thread techniques. So good&nbsp;luck with your learning experience!

---

<div class="post-metadata">

**Author:** ![juan1979](https://avatars.discourse-cdn.com/v4/letter/j/b487fb/32.png) [@juan1979](https://forum.juce.com/u/juan1979)\
**Post date:** [November 13, 2013, 9:14am UTC](https://forum.juce.com/t/standalone-applications-and-multicore-cpus/11846/3 "2013-11-13T09:14:04Z")

</div>

Thank you. Then Juce's Thread classes with proper non-blocking techniques are enough for using the multiple CPU's core, right? Could external libraries like Intel TBB ease the work (if you know about them)?

&nbsp;

---

<div class="post-metadata">

**Author:** ![jules](https://avatars.discourse-cdn.com/v4/letter/j/41988e/32.png) [@jules](https://forum.juce.com/u/jules)\
**Post date:** [November 13, 2013, 9:53am UTC](https://forum.juce.com/t/standalone-applications-and-multicore-cpus/11846/4 "2013-11-13T09:53:03Z")

</div>

Yeah, you don't actually need any&nbsp;fancy features to do this, just atomics and basic threads.
