cpp-pthread  (v1.7.3)
Simple C++ wrapper to pthread functions.
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Modules Pages
cpp-pthread Documentation

Some C/C++ compilers are not implementing all of C++11 and above standard, it's often lacking the concurrency features that the standard brings. These compilers will at some point be updated. I was therefore looking for a way to reduce the effort of switching from a specific implementation to the C++11 standard one.

This projetc is the resulting code.

Of course, this library is a replacement of C++11 features, it is best to use the standard implementation if your compiler support it.

To use this library:

configure --enable-release
make
make install

The configure argument –enable-release tells configure to figure out what version your build (this is done through git commands)

Install moves files into your system's default localtion for headers and libraries (often /usr/local/include and /usr/local/lib). Use this command to change install target directory:

configure --prefix=/usr/local

Doxygen documentation can be generated with this command. I hope this help make things easier to use and understand.

make doxygen

Doxygen can be downloaded here.

The make target pkg will produce au tar.gz that can be distributed.

How to use it

Once compiled and installed in a location that suites you, use your compiler options to reference the headers and the library directory. In almoast all casses you can:

Once your compiler is upgraded you simply include the standard #include <thread> and replace the namespace pthread for std.

Sample code can be found in the tests directory. To use it, run the following commands:

cd tests ./configure ./make

Usefull links

Memory management on AIX

Memory management on AIX is quite sophisticated, memory managementcan be fine tuned very precisely. Consider using these compiler/linker options when using pthreads:

Thread stack size:

On many Linux implementations and on Mac OS X the stack size is defaulted to 8MB. You may consider setting this as a default.

More detailed information can be found in this RedBook (chapter 8).

project links

other things

misc