Changes for version 6.06 - 2011-08-08
- cygwin unfortunately patches the stack at runtime, so we use the pthreads backend, which is an order of magnitutde slower. unfortunately, cygwins pthread implementation isn't very complete either, so allocate the stack twice just to be sure. (note: cygwin also enables mymalloc, which is NOT THREADSAFE ON WINDOWS, in its ithreaded perl - best recompile cygwin and use the 'w'indows backend for much better performance. also disable ithreads for even better performance...).
- Coro - the only real threads in perl
- Coro::AIO - truly asynchronous file and directory I/O
- Coro::AnyEvent - integrate threads into AnyEvent
- Coro::BDB - truly asynchronous bdb access
- Coro::Channel - message queues
- Coro::Debug - various functions that help debugging Coro programs
- Coro::Handle - non-blocking I/O with a blocking interface.
- Coro::LWP - make LWP non-blocking - as much as possible
- Coro::MakeMaker - MakeMaker glue for the XS-level Coro API
- Coro::RWLock - reader/write locks
- Coro::Select - a (slow but coro-aware) replacement for CORE::select
- Coro::Semaphore - counting semaphores
- Coro::SemaphoreSet - efficient set of counting semaphores
- Coro::Signal - thread signals (binary semaphores)
- Coro::Socket - non-blocking socket-I/O
- Coro::Specific - manage coroutine-specific variables.
- Coro::State - first class continuations
- Coro::Storable - offer a more fine-grained Storable interface
- Coro::Timer - timers and timeouts, independent of any event loop
- Coro::Util - various utility functions.
- Coro::EV - do events the coro-way, with EV
- Coro::Event - do events the coro-way, with Event