More test code added...
     more bugs found

facebook::thrift::concurrency::ThreadManager::add
	Fixed dispatch error that resulted in only one of N worker threads ever getting notified of work

facebook::thrift::concurrency::ThreadManager
	Cleaned up addWorker/removeWorker and stop logic so that adding/removing workers doesn't wake up 
	all blocked workers.

facebook::thrift::concurrency::Thread
facebook::thrift::concurrency::Runnable
	Fixed initialization logic so that runnable can return the thread that runs it


git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@664729 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/lib/cpp/src/concurrency/test/Tests.cc b/lib/cpp/src/concurrency/test/Tests.cc
index d139f55..2174bf4 100644
--- a/lib/cpp/src/concurrency/test/Tests.cc
+++ b/lib/cpp/src/concurrency/test/Tests.cc
@@ -30,13 +30,13 @@
 
     assert(threadFactoryTests.helloWorldTest());
 
-    size_t count =  10000;
+    size_t count =  1000;
 
     std::cout << "\t\tThreadFactory reap N threads test: N = " << count << std::endl;
 
     assert(threadFactoryTests.reapNThreads(count));
 
-    std::cout << "\t\tThreadFactory synchrous start test" << std::endl;
+    std::cout << "\t\tThreadFactory synchronous start test" << std::endl;
 
     assert(threadFactoryTests.synchStartTest());
   }
@@ -56,11 +56,17 @@
 
     std::cout << "ThreadManager tests..." << std::endl;
 
-    std::cout << "\t\tThreadManager test00" << std::endl;
+    size_t workerCount = 10;
+
+    size_t taskCount = 10000;
+
+    long long delay = 10LL;
+
+    std::cout << "\t\tThreadManager load test: worker count: " << workerCount << " task count: " << taskCount << " delay: " << delay << std::endl;
 
     ThreadManagerTests threadManagerTests;
 
-    assert(threadManagerTests.test00());
+    assert(threadManagerTests.loadTest(taskCount, delay, workerCount));
   }
 }