A while ago I was taking a networking class and needed a threading model. I came up with something like this. I added messages to the library early on and it made all of the difference. I think that messaging is one of the most powerful syncronization mechanisms available.
Later, I was working on a personal project and needed such a library again, so I took out the old code, dusted it off, cleaned it up, and released it as TThread 0.1. There have been a few new features and a lot of bug fixes since then.
Most thread libraries are C based. Although they work quite well, useing Object Oriented techniques to do threading is really neat. TThread is quite object oriented and is based on a mixing of the Java thread package and BeOS threading. TThread also uses exceptions for error reporting. I find this method of error handling much easier to work with.
I do not wish to get into holy wars with people about programming languages. I like OO languages, and I like C++. If you don't, then don't use my library.
The current release of TThread is 0.2.4.
TThread-0.2.4.tar.gz
TThread-0.2.4.zip
I will make RPMS and DEB packages as soon as I learn how. :)