[Date Prev][Date Next][Thread Prev][Thread Next]
- Subject: Fiber thing?
- From: "Alex Bilyk" <nebula-crl-2688@...>
- Date: Sat, 8 Jun 2002 00:13:23 -0700
What is this *fiber* thing? I would appreciate if you elaborated a bit on
this or provded some pointers I could follow.
----- Original Message -----
From: "Curt Carpenter" <email@example.com>
To: "Multiple recipients of list" <firstname.lastname@example.org>
Sent: Friday, June 07, 2002 11:23 AM
Subject: RE: cooperative multitasking
> As an platform-specific detail, let me just add that on Win32 I have had
> very successful results using a fiber for each Lua thread, and switching
> the fiber instead of using Lua's coroutines. The major advantage is that
> switching a fiber is just a handful of machine instructions. It
> basically just swaps out registers. Using Lua's coroutines requires that
> you unwind the Lua call stack, wind it back up when you continue. The
> only downside is that you need stack space for each thread (but you
> configure that to just what you need). I have run over 1000 fibers/Lua
> threads without any problems. Plus, with fibers you can switch out while
> in the middle of a registered C function. Anyway, it's not a
> general-purpose Lua thing, so it's not for everyone, but I thought some
> people might be interested in that approach if it's a possibility for
> -----Original Message-----
> From: Luiz Henrique de Figueiredo [mailto:email@example.com]
> Sent: Friday, June 07, 2002 9:56 AM
> To: Multiple recipients of list
> Subject: Re: cooperative multitasking
> >Long-running threads with lots of processing would be sprinkled with
> >yield calls, no?
> Yes, that's why it's called cooperative multitasking.
> >Or I suppose one could use the line-hook, although that would be quite
> Or the call hook.
> Anyway, cooperative multitasking is provide now in the core of Lua. If
> your platform allows multithreading then you can add that too. An
> example is given in LuaThreads: