Ok I have a small question with threading. I plan to thread my muds boot up. Making it so it will load given blocks at a time. You know like one thread load all the main system things like areas with the room's mobs and objects. Probably put like skills in that as well. And then have the others load some of the minor things I have loading.
My question is obviously I'll need to add something that prevents the main thread from continuing with out the other threads finishing first. I guess my question is with semaphores. I figured with the main thread before it leaves the boot_db I would add a sem_wait for each thread that was spawned. And just have each thread post that it's finished before it terminates. My only question is with this, lets say I have a wait for say thread_1 and thread_2. So I put the waits in this order: sem_wait(&thread_1); sem_wait(&thread_2); Ok now lets say thread two finishes before thread 1. When thread 1 finishes and posts, will it allow it past the wait for thread 2 if thread 2 posted before it hit the wait? Or would it wait for a post while its sitting in the wait? Or is there maybe a better way I could accomplish this syncing with the threads to wait on finishing the boot until all the threads are completed?

