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.

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 <>
Schulze & Mueller GbR, Jungstr. 2, 10247 Berlin,
Gesellschafter: Franciska Schulze, Timm S. Mueller,
Tel. +49 30 85610000,