Reduce sleep duration in SuspendAllDaemonThreads

Previously we unconditionally slept for 200ms which caused runtime
shutdown to take 200ms longer than required.

Reduces runtime shutdown time for "am" from ~200ms to ~10ms.

Bug: 26351700
Change-Id: I7fd0059cb3b04dba0acc4a1754e76c89ec867f85
diff --git a/runtime/thread_list.cc b/runtime/thread_list.cc
index 77f780f..f9eb935 100644
--- a/runtime/thread_list.cc
+++ b/runtime/thread_list.cc
@@ -1158,8 +1158,9 @@
   }
   // Give the threads a chance to suspend, complaining if they're slow.
   bool have_complained = false;
-  for (int i = 0; i < 10; ++i) {
-    usleep(200 * 1000);
+  static constexpr size_t kTimeoutMicroseconds = 200 * 1000;
+  static constexpr size_t kSleepMicroseconds = 1000;
+  for (size_t i = 0; i < kTimeoutMicroseconds / kSleepMicroseconds; ++i) {
     bool all_suspended = true;
     for (const auto& thread : list_) {
       if (thread != self && thread->GetState() == kRunnable) {
@@ -1173,8 +1174,9 @@
     if (all_suspended) {
       return;
     }
+    usleep(kSleepMicroseconds);
   }
-  LOG(ERROR) << "suspend all daemons failed";
+  LOG(ERROR) << "timed out suspending all daemon threads";
 }
 void ThreadList::Register(Thread* self) {
   DCHECK_EQ(self, Thread::Current());