[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)