Recursion Software, Inc.
Asynchronous Programming with Futures, Future Threads, and Traps
Often processes execute in parallel by enabling applications to be multi-threaded, allowing system resources of multi-processor machines to process more efficiently and reduce computing time. This article discusses different approaches to threading by presenting iterations of a simple application using a) a single-threaded model; b) a multi-threaded model; c) conditions for synchronization; c) futures and future threads for deferred blocking; e) and traps to decouple completion times between threads. Finally, the advantages and disadvantages of each approach are outlined.
[download PDF] [visit Recursion's site]