Removed some no longer needed code from compat
diff --git a/jinja2/_compat.py b/jinja2/_compat.py
index f376777..1326cbc 100644
--- a/jinja2/_compat.py
+++ b/jinja2/_compat.py
@@ -104,22 +104,6 @@
 
 
 try:
-    from collections import Mapping as mapping_types
-except ImportError:
-    import UserDict
-    mapping_types = (UserDict.UserDict, UserDict.DictMixin, dict)
-
-
-try:
     from urllib.parse import quote_from_bytes as url_quote
 except ImportError:
     from urllib import quote as url_quote
-
-
-try:
-    from thread import allocate_lock
-except ImportError:
-    try:
-        from threading import Lock as allocate_lock
-    except ImportError:
-        from dummy_thread import allocate_lock
diff --git a/jinja2/tests.py b/jinja2/tests.py
index 48a3e06..87b3120 100644
--- a/jinja2/tests.py
+++ b/jinja2/tests.py
@@ -9,8 +9,9 @@
     :license: BSD, see LICENSE for more details.
 """
 import re
+from collections import Mapping
 from jinja2.runtime import Undefined
-from jinja2._compat import text_type, string_types, mapping_types
+from jinja2._compat import text_type, string_types
 
 
 number_re = re.compile(r'^-?\d+(\.\d+)?$')
@@ -82,7 +83,7 @@
 
     .. versionadded:: 2.6
     """
-    return isinstance(value, mapping_types)
+    return isinstance(value, Mapping)
 
 
 def test_number(value):
diff --git a/jinja2/utils.py b/jinja2/utils.py
index ddc47da..1c71789 100644
--- a/jinja2/utils.py
+++ b/jinja2/utils.py
@@ -11,8 +11,9 @@
 import re
 import errno
 from collections import deque
+from threading import Lock
 from jinja2._compat import text_type, string_types, implements_iterator, \
-     allocate_lock, url_quote
+     url_quote
 
 
 _word_split_re = re.compile(r'(\s+)')
@@ -309,7 +310,7 @@
         self._popleft = self._queue.popleft
         self._pop = self._queue.pop
         self._remove = self._queue.remove
-        self._wlock = allocate_lock()
+        self._wlock = Lock()
         self._append = self._queue.append
 
     def __getstate__(self):