Quote Originally Posted by jedipenguin View Post
However, I tried joining threads and it's joining before all of them have even been created, and it's making a segmentation fault.
That's why you have such things as synchronization objects when you create a multithreaded program. Multithreaded programming doesn't just mean "spawning threads". That's why I mentioned earlier to you that multithreaded programming is not "basic" or easy, or can be learned in an ad-hoc way in a few days.

Where is your usage of synchronization objects? Where is your mutex, semaphore, etc. to signal that the thread has been created?

Regards,

Paul McKenzie