Thread Safe Template Library (TSTL) is a C++ library that provides thread-safe containers with high grade of locking. It includes classes for multimaps based on a B-tree and a hash table. It also includes classes for a queue, a priority queue, a pipe, an alloccache, a timercache, a limitcache without global locking, and a fast shared mutual exclusion locker (also known as "rwlock" or "wmrg"). It's useful for writing multi-threaded applications, network services, and operating system components with high requirements for interactivity level.
| Tags | Operating System Kernels Linux BSD Software Development Libraries |
|---|---|
| Licenses | MIT |
| Operating Systems | POSIX Linux BSD FreeBSD Windows Windows Windows Windows Unix |
| Implementation | C++ |
Recent releases


Release Notes: The library was ported to gcc AMD64 (EM64T). The previous port for gcc x32 was optimized. For MSVC x32, the inline function interlocked_exchange() was optimized.


Release Notes: The shared locker was reimplemented (placed in rwlock template). The shared policy controller was introduced in rwlock template. A new shared lock - lightlock :: rwlock template was added. Compile bugs in the timer_cache template were fixed.


Release Notes: Bugfixes in container support after allocators were introduced. Copy constructors were added to set_at methods in the nbmap, pbmap, timercache, and limitcache templates. Copy constructors were added to cqueue, iqueue, and pipe template. The pipe template was fully refactored. An alloc_cache_array template was added.


Release Notes: A bug was fixed in allocating the cache template. A building bug was fixed in the multi-map template.


Release Notes: Container support was introduced. memcpy () and similar were removed. The container interface was refactored. Extra parameter links were removed. Building bugs were fixed in the classic queue template. The documentation was updated.