Wednesday, September 29, 2010

QubLib Multithreading

This past week was a career fair at Brigham Young University, and so I went and decided to distribute a few resumes. There were the big companies like Microsoft, Apple, Adobe, and others like that, and so I took the chance to drop my name into all of their employment databases. On my resume I have a quick snippet about QubLib. It really isn't all that much, but it is a small bullet point that says that I'm developing a Cross-Platform C++ Library that supports common Data Structures, Networking, Shared Strings, and Multithreading. Multithreading, huh? After the career fair I went back and looked at how far I had gotten on Multithreading in the past month. Not too far. The Windows Thread class could start a thread, but waiting for finish/joining, suspending, and resuming were all features that were on the to do list. Fortunately for me, a week after noticing this I got sick (yesterday), and so what else was I supposed to do while I was sitting in bed all day? I worked on Cross-Platform multithreading. :) So, now QubLib fully supports an inheritable Thread class that can start and wait for finish, a Mutex class, and a Semaphore class. There was a particular joy that swept through me when I got the test cases to work on both Windows and Linux. Fun fun.