Welcome to MSDN Blogs Sign in | Join | Help

MSDK (Multithreading SDK)

MSDK is a C++ template library released under the GNU Lesser General Public License (LGPL) http://www.gnu.org/licenses/lgpl.html, which means it is truly free for any purpose. Nothing in MSDK is patented. Since MSDK is a C++ template library, it is distributed only as source code (plus samples and documentation). The archive could be downloaded from:

          http://prdownloads.sourceforge.net/msdk/msdk-2.10.053.tar.gz?download (37K)

The source code may be browsed online at:

          http://cvs.sourceforge.net/viewcvs.py/msdk

 

MSDK builds and runs under Windows and Linux. Its purpose is to create a convenient OS-independent framework for C++ developers. MSDK uses directly Win32/MSVCRT under Windows, and Pthreads otherwise.

 

MSDK 2.10, released on 12/23/2004, includes:

Basic Primitives

·         Mutex      - exclusive lock

·         Event       - tri-state event: pulse, single, and permanent

 

Extended Primitives

·         BlockingCounter   - blocks when trying to decrement from 0. A cornerstone in MSDK!

·         SemiMutex          - shared- and exclusive locks mixed

 

Thread Support

·         Message<T>                 - optimized (typed) buffer carrier

·         BlockingSequence<T>     - queue/stack that blocks when trying to pop from an empty sequence

·         Thread                        - the most important feature

 

Multithreading Patterns

·         ReadWrite           - single writer multiple readers

·         ThreadPool<T>    - thread pool

 

Process Support

·         Config                - config file read/write

·         Log<T>              - asynchronous log writer

·         Service              - Windows service-, Linux daemon stub

 

I will elaborate on each class in my upcoming posts. Then I’ll reveal my vision about the direction in which MSDK should develop.

Published Friday, March 10, 2006 5:18 PM by Zlatko Michailov
Filed under:

Comments

Anonymous comments are disabled
 
Page view tracker