The upcoming C standard (C 0x) will support multireading and concurrency both as an inherent part of the memory model, and as part of the C Standard Library.
With the just::thread C Standard Thread Library implementation, you can start using the C 0x thread library today — no need to wait for a new compiler.
- Tight adherence to the C 0x Final Draft International Standard.
- std::thread class for launching and managing threads.
- std::async function for starting asynchronous tasks.
- Mutex classes (std::mutex, std::timed_mutex, etc.) for protecting shared data.
- Condition variables (std::condition_variable and std::condition_variable_any) for synchronizing operations.
- Atomic types (std::atomic<<0>>, std::atomic<<1>>, etc.) for low level atomic access.
- Futures and promises (std::future, std::promise, etc.) for communicating data between threads.
- Thread-local variables using the JSS_THREAD_LOCAL macro.
- Compatible with Microsoft Visual Studio 2005, 2008, and 2010 and TDM gcc 4.5.2 for both 32-bit and 64-bit Windows targets.
- Compatible with g 4.3, 4.4, 4.5 and 4.6 for 32-bit and 64-bit Debian, Ubuntu and Fedora linux (x86/x86_64) targets, making full use of the C 0x support from g including rvalue references and variadic templates.
- Compatible with MacPorts g 4.3, 4.4 and 4.5 for 32-bit Intel MacOSX targets, again making full use of the C 0x support from g including rvalue references and variadic templates.
- Full documentation available online.
- Special debug mode for identifying the call chain leading to a deadlock. (Not available with the TDM gcc compiler for Windows.)