On Saturday 29 July 2006 11:32 am, Vijay Aswadhati wrote:
If it is not too much trouble could the respective authors please present
their views and comments on the similarities and differences between these
two projects?
LuaTask lets you create new Lua spaces and run them in independent threads.
from the point of view of your Lua code, it's more like process forks than
threads. there are no shared state between them, and any interchange of data
is via a message passing API.
HTT doesn't let you create Lua threads. is a framework for C library writers
to easily create asynchronous routines using OS threads. it includes a Lua
API for managing the task objects that represent the unfinished calls. it
makes very simple to write a lua coroutine scheduler that won't block on IO
if it uses libraries build with HTT.
The reason I ask is I was only aware of HTT and at the back off my brain I
had noted down that it needs a Win32 port. I discovered LuaTask today which
seems to be serving a similar purpose and it has Win32 support to boot. Are
they similar, if not by design but in intent?
not really, the intended audience is different.
of course, one possible use for HTT would be a library to create new Lua
states, and the result would be something very similar to LuaTask. as a nice
advantage, such a library would be easily used from a HTT-aware scheduler.
I am a little confused as to which library to go with. My basic need is to
be able to create services that can run in their own native thread and
occasionally or periodically have to communicate with a Lua universe.
the easiest way for you would be LuaTask. I'd only go for the (longer) HTT
route if you want your main Lua thread to use a easily extensible scheduler.
I like HTT for its lightness, but it needs a Win32 port. I have to read and
play with LuaTask to understand it better. Choices, choices... Two is one
too many!!
LuaTask is more similar to LuaThread. HTT is for writing AIO libraries