By Adam Nagy
I wrote about it already that you can use Apprentice in a side-thread, but that sample only showed a single instance doing it:
http://adndevblog.typepad.com/manufacturing/2014/09/apprentice-in-side-thread.html
Now here is a sample running multiple Apprentice instances in the same application on different threads. Each thread creates its own ApprenticeServerComponent - note that this object can only be used from the thread that created it, since it's not thread-safe.
Depending on how much calculation you're doing and how your app is structured, it could also be a good idea to migrate the Apprentice usage into a separate app which could be used from the main application.
This sample project shows both ways of doing things and allows you to switch between them through the "Use Apprentice in-process" check box.
Source:
https://github.com/adamenagy/Apprentice-MultiThread
By the way, if you want to set the Output directory of a .NET project relative to the Solution directory, you can do that by editing the project file in a text editor: