51 lines
1.4 KiB
Plaintext
Executable File
51 lines
1.4 KiB
Plaintext
Executable File
LuaTask 1.6.4 - "Multitasking" support Library
|
|
----------------------------------------------
|
|
|
|
THE IDEA:
|
|
---------
|
|
|
|
LuaTask implements a concurrent and independent Lua execution
|
|
environment model.
|
|
|
|
We choose the "task" name to avoid confusion with "lua threads".
|
|
|
|
The program calling luaopen_task() becomes the "main" task.
|
|
|
|
Each "task" started by the main one ( by calling task.create()), has an
|
|
independent lua state, own message queue and execution os thread.
|
|
|
|
Each task is represented by a number starting at 1 ( 1 is the main
|
|
task).
|
|
|
|
The internal task list grows as it is necessary. Currently
|
|
there is no list size limit.
|
|
|
|
|
|
WIN32 THREADS
|
|
-------------
|
|
|
|
The first implementation ( and the current one selected with NATV_WIN32)
|
|
called the Win32 APIs direct from syncos.c and doesn't support cancel.
|
|
When I tried to implement the cancel method and after looking for
|
|
alternatives to the infame TerminateThread, I decided to use as an
|
|
option the Pthreads-Win32 library.
|
|
Pthreads-Win32 library (2.7.0) implements thread
|
|
cancellation with and without QueueUserAPCEx.
|
|
QueueUserAPCEx (by Panagiotis E. Hadjidoukas) is used for true async
|
|
cancelation of threads (including blocked threads).
|
|
|
|
|
|
|
|
DOCUMENTATION
|
|
-------------
|
|
|
|
Inside the doc directory you can find a manual and a reference guide.
|
|
|
|
|
|
|
|
AUTHORS:
|
|
--------
|
|
|
|
LuaTask have been developed by Daniel Quintela.
|
|
http://www.soongsoft.com mailto:dq@soongsoft.com
|