diff --git a/src/TensorFlowNET.Core/Util/Locks.cs b/src/TensorFlowNET.Core/Util/Locks.cs
new file mode 100644
index 00000000..3b54ee2c
--- /dev/null
+++ b/src/TensorFlowNET.Core/Util/Locks.cs
@@ -0,0 +1,21 @@
+using System.Threading;
+
+namespace Tensorflow.Util
+{
+ ///
+ /// Provides a set of locks on different shared levels.
+ ///
+ public static class Locks
+ {
+ private static readonly ThreadLocal