private int GetIdleThread()
{
int most_idle_thread_id = 0;
for (int i = 1; i < thread_amount_; ++i) {
if (roomthread_list_[most_idle_thread_id].IdleRoomCount() <
roomthread_list_[i].IdleRoomCount()) {
most_idle_thread_id = i;
}
}
if (roomthread_list_[most_idle_thread_id].IdleRoomCount() < GlobalVariables.c_PreservedRoomCountPerThread) {
return -1;
}
return most_idle_thread_id;
}