<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Sat, Apr 11, 2015 at 1:25 PM, Johannes Lorenz <span dir="ltr"><<a href="mailto:johannes89@mailueberfall.de" target="_blank">johannes89@mailueberfall.de</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">> > Nonetheless, if I have 40 instances of zyn, I'd<br>
> > like to (actually must) compute them concurrently. So how to do this with<br>
> > one client?<br>
><br>
> By using your own internal graph mechanism that has parallel capabilities.<br>
> See, for excample, <a href="https://github.com/flowprogramming/dspatch" target="_blank">https://github.com/flowprogramming/dspatch</a><br>
<br>
</span>This one is based on pthread_cond_wait(), which is either implemented as a spinlock or not realtime safe (I guess the second). So how can this help?<br></blockquote><div><br></div><div>it was just an example. ultimately, *some* synchronization primitive is required. the question is what is the least bad choice ....<br></div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<span class=""><br>
> > The best way I can see is using an array of jack clients, and hoping<br>
> > they'll process() at the same time. However, this sounds very tricky...<br>
><br>
> There can be very good reasons for using JACK 1. If a user is doing that,<br>
> you won't get any parallelization at all.<br>
<br>
</span>Does JACK 2 allow to use multiple jack clients that call process() at the same time? Or does it allow to enter process() with multiple threads? There seems to be no documentation/tutorial about JACK 2.<br></blockquote><div><br></div><div>clients do not "call process". process() is called on their behalf, by the server, in a thread chosen by the server.<br><br></div><div>the relationship between threads and callbacks is an undocumented, implementation specific part of JACK, and differs between JACK1 and JACK2. <br></div><div> <br></div></div></div></div>