lua-users home
lua-l archive

[Date Prev][Date Next][Thread Prev][Thread Next] [Date Index] [Thread Index]


LuaExec is another take on multitasking for Lua. 

http://luaexec.neoscientists.org/

It is mainly focused on general applicability, simplicity and concise
semantics. It provides multiple threads of execution in the most
abstract sense, behaving understandably, platform-independently and
unencumbered by OS specific details. Demarcation:

- is a regular module using only the legal Lua API
- should work with Lua 5.1, 5.2, 5.3, and LuaJIT on POSIX and Windows
- runs a Lua interpreter per task
- recursive, a child task itself can require the module and run childs
- data exchange using messages, signals, arguments and return values
- allows to synchronize on: task completion, signals, messages
- abstract signals: a, t, c, m (abort, terminate, child, message)
- tasks can find each other by name or by parent
- no shared data, no marshalling, this is currently left to the user
- child tasks are subject to garbage collection
- underlying OS threads are always joined and never killed forcibly
- small HTTP server included as an example

Your feedback welcome,

-- 
Timm S. Mueller <tmueller@schulze-mueller.de>
Schulze & Mueller GbR, Jungstr. 2, 10247 Berlin,
Gesellschafter: Franciska Schulze, Timm S. Mueller,
Tel. +49 30 85610000, http://www.schulze-mueller.de/