bpo-30357: test_thread now uses threading_cleanup() (#1592) (#1622)

test_thread: setUp() now uses support.threading_setup() and
support.threading_cleanup() to wait until threads complete to avoid
random side effects on following tests.

Co-Authored-By:  Grzegorz Grzywacz <grzegorz.grzywacz@nazwa.pl>
(cherry picked from commit 79ef7f8e88a4972c4aecf95cfc5cd934f1861e08)
diff --git a/Lib/test/test_thread.py b/Lib/test/test_thread.py
index ef3059b..3909b75 100644
--- a/Lib/test/test_thread.py
+++ b/Lib/test/test_thread.py
@@ -20,6 +20,7 @@
         with _print_mutex:
             print(arg)
 
+
 class BasicThreadTest(unittest.TestCase):
 
     def setUp(self):
@@ -31,6 +32,9 @@
         self.running = 0
         self.next_ident = 0
 
+        key = support.threading_setup()
+        self.addCleanup(support.threading_cleanup, *key)
+
 
 class ThreadRunningTests(BasicThreadTest):