public void deleteThreads(ref thread input)
        {
            // delete from activeThreads, threads and destroy input object
            deleteActiveThread(input.getThID());

            foreach (thread th in threads)
            {
                if (th == input)
                {
                    threads.Remove(input);
                    input = null;
                }
            }
            throw new coreErrors((int)coreErrors.errorCodes.ELEMENT_DOES_NOT_EXIST_IN_THREADS);
        }
 public void addActiveThreads(thread input)
 {
     activeThreads.Add(input.getThID());
 }