Removed some unused imports to decrease the amount of loaded modules during startup.
Added fallback to _dummy_thread for OSs w/o thread support.
diff --git a/Lib/io.py b/Lib/io.py
index 18680ca..4fe1e8c 100644
--- a/Lib/io.py
+++ b/Lib/io.py
@@ -60,8 +60,12 @@
 import sys
 import codecs
 import _fileio
-import warnings
-from _thread import allocate_lock as Lock
+# Import _thread instead of threading to reduce startup cost
+try:
+    from _thread import allocate_lock as Lock
+except ImportError:
+    from _dummy_thread import allocate_lock as Lock
+
 
 # open() uses st_blksize whenever we can
 DEFAULT_BUFFER_SIZE = 8 * 1024  # bytes