[NAME]
ALL.dao.concurrent

[TITLE]
Concurrent Programming

[DESCRIPTION]

Dao has native support for concurrent programming on multicore computers. The basic 
concurrent computational unit in Dao is a tasklet which consists of a virtual machine
process (context) and a future value (handle). A tasklet is much cheaper than a native
thread, because only active tasklets are attached to native threads for execution.

Dao provides two main features for concurrent programming: one is the multithreading
module mt; the other is the asynchronous class. Dao also provides communication channels
for tasklets to communicate and synchronize with each other by channels.


[STRUCTURE]

dao.concurrent--| dao.concurrent: Concurrent Programming (9.5 KB)
                |--threading----| dao.concurrent.threading: Multithreading Module (2.4 KB)
                |--asyncall-----| dao.concurrent.asyncall: Asynchronous Function Call (0.7 KB)
                |--asyncobject--| dao.concurrent.asyncobject: Asynchronous Object (1.6 KB)
                |--channel------| dao.concurrent.channel: Communication Channel (4.2 KB)