<p>Am 10.12.2013 12:51 schrieb "Henry Vermaak" <<a href="mailto:henry.vermaak@gmail.com">henry.vermaak@gmail.com</a>>:<br>
><br>
> On Tue, Dec 10, 2013 at 12:27:00PM +0100, Michael Van Canneyt wrote:<br>
> > On Tue, 10 Dec 2013, Henry Vermaak wrote:<br>
> ><br>
> > >Hello everyone<br>
> > ><br>
> > >Could anyone tell me why threads are set to not inherit scheduling<br>
> > >parameters from the calling thread?<br>
> > ><br>
> > ><a href="http://svn.freepascal.org/cgi-bin/viewvc.cgi/trunk/rtl/unix/cthreads.pp?view=markup#l339">http://svn.freepascal.org/cgi-bin/viewvc.cgi/trunk/rtl/unix/cthreads.pp?view=markup#l339</a><br>
> ><br>
> > No particular reason. Probably because it tries to mimic windows behaviour.<br>
><br>
> I thought Windows threads always start with the same priority as the<br>
> process?</p>
<p>Yes and no. On windows processes have a process class and threads have a priority level. Threads inherit the priority class from the process (and this can not be changed on a per thread level) and are created with priority level THREAD_PRIORITY_NORMAL *within* that priority class. Changing the priority level then only changes the priority level *inside* the priority class.<br>

Don't know how good this Windows behavior is approximated on cthreads systems though... (and I don't really know wether it's good to approximate it :/ )</p>
<p>Regards,<br>
Sven</p>