# System.Threading

``` diff
 namespace System.Threading {
     public class CancellationTokenSource : IDisposable {
+        public static CancellationTokenSource CreateLinkedTokenSource(CancellationToken token);
     }
     public sealed class ExecutionContext : IDisposable, ISerializable {
+        public static void Restore(ExecutionContext executionContext);
     }
     public static class Interlocked {
+        public static uint Add(ref uint location1, uint value);
+        public static ulong Add(ref ulong location1, ulong value);
+        public static int And(ref int location1, int value);
+        public static long And(ref long location1, long value);
+        public static uint And(ref uint location1, uint value);
+        public static ulong And(ref ulong location1, ulong value);
+        public static uint CompareExchange(ref uint location1, uint value, uint comparand);
+        public static ulong CompareExchange(ref ulong location1, ulong value, ulong comparand);
+        public static uint Decrement(ref uint location);
+        public static ulong Decrement(ref ulong location);
+        public static uint Exchange(ref uint location1, uint value);
+        public static ulong Exchange(ref ulong location1, ulong value);
+        public static uint Increment(ref uint location);
+        public static ulong Increment(ref ulong location);
+        public static int Or(ref int location1, int value);
+        public static long Or(ref long location1, long value);
+        public static uint Or(ref uint location1, uint value);
+        public static ulong Or(ref ulong location1, ulong value);
+        public static ulong Read(ref ulong location);
     }
 }
```

