Relies on standard C++ functionality to work. It might be worth it to consider pthread or boost in the future for this.