[fpc-devel] Light weight threads for FPC
Vinzent Hoefler
JeLlyFish.software at gmx.net
Fri Dec 14 10:02:27 CET 2007
On Friday 14 December 2007 09:37, Felipe Monteiro de Carvalho wrote:
> On Dec 13, 2007 7:55 PM, Mattias Gaertner <nc-gaertnma at netcologne.de>
wrote:
> > Has someone already created a unit for light weight threads?
>
> I don't know much on the subject, but Is TThread heavy? What are the
> disadvantages of using it?
No, TThread is either heavy or middle-weight, according to the
definitions at
http://whatis.techtarget.com/definition/0,,sid9_gci814910,00.html
depending on the actual implementation. On Linux 2.4 it would be
heavyweight, on Win32 systems and Linux kernel 2.6+ it would be
middle-weight. (Well, the context switching times mentioned there are
not really up to date, usually not even context switching between
processes takes several milliseconds, or "thousands of microseconds" as
they liked to say.)
But actually, I don't know how much more "light" a thread can take:
"When all context and thread operations are exposed at the user level,
each application needs only the minimal amount of context saved with
it, so that context switching can be reduced to tens of microseconds.
Therefore, user-level threads are considered lightweight threads."
Which is something that you simply never want to do outside of
bare-metal embedded systems. And even there you'd normally wrap your
threading implementation in something more "middle-weight" before you
expose that API to the user.
Vinzent.
More information about the fpc-devel
mailing list