7 projects tagged "concurrency"
Concurrency Kit provides a plethora of concurrency primitives and lock-less and lock-free data structures designed to aid in the design and implementation of high performance scalable concurrent systems. It was designed to minimize dependencies on operating system-specific interfaces, and most of the interface relies only on a strict subset of the standard library and more popular compiler extensions.
jCores is a Java library that feels like jQuery, with many shortcuts and transparent parallelism. It was made to denoise programming in the Java language and to increase execution speed. Its goal is to demonstrate that Java, the language, can be as sexy as Python in terms of hacking and as parallel as your hardware gets in terms of CPUs.
kongcurrent provides an easy-to use helper to assist debugging issues which cause exceptions under concurrent access. It was inspired by a problem in which a non-thread-safe Map object held by a third party framework was accidentally shared between threads, causing a ConcurrentModificationException. The helper (a "monitor") creates a proxied version of an object implementing some interface. The proxy can track invocations of the objects' methods and can report on potential concurrent access on the object. This can be used to help find code paths which concurrently access the object through its interface methods. By design, the helper is extensible, and can be adapted to more specific needs.
asyncoro is a Python framework for concurrent distributed network programming with asynchronous completions and coroutines. Asynchronous completions implemented in asyncoro are socket I/O operations (non-blocking sockets), database cursors, sleep timers, and locking primitives. Programs developed with asyncoro have the same logic and structure as Python programs with threads, except for a few syntactic changes. It supports socket I/O notification mechanisms epoll, kqueue, /dev/poll (and poll and select, where necessary), and Windows I/O Completion Ports (IOCP) for high performance and scalability, and SSL for security. asyncoro features include remote execution of coroutines, coroutines monitoring other coroutines, coroutines communicating with messages, message channels etc., for concurrent, distributed, fault-tolerant programming.
STMX is a high-performance Common Lisp library for composable Software Transactional Memory (STM), a concurrency control mechanism aimed at making concurrent programming easier to write and understand. Instead of traditional lock-based programming, one programs with atomic memory transactions: if a memory transaction returns normally it is committed. If it signals an error, it is rolled back. Transactions can safely run in parallel in different threads, are re-executed from the beginning in case of conflicts or if consistent reads cannot be guaranteed, and effects of a transaction are not visible from other threads until committed. This gives freedom from deadlocks, automatic rollback on failure, and aims to resolve the tension between granularity and concurrency.
Tymeac-and is a full-featured fork-join manager for Android application development. It provides a queuing facility, thread management, and recursive processing with a minimal footprint that is easy to use. This project is the fourth in a series (Tymeac-se, me, dse) based on Java technology.