System.Threading.Mutex.ReleaseMutex C# (CSharp) Méthode

ReleaseMutex() private méthode

private ReleaseMutex ( ) : void
Résultat void
        public void ReleaseMutex()
        {
            if (Win32Native.ReleaseMutex(safeWaitHandle))
            {
                Thread.EndCriticalRegion();
                Thread.EndThreadAffinity();
            }
            else
            {
                throw new ApplicationException(Environment.GetResourceString("Arg_SynchronizationLockException"));
            }                                                               
        }

Usage Example

Exemple #1
0
        public static void ShareMemory()
        {
            using (MemoryMappedFile mmf = MemoryMappedFile.CreateNew(MmfName, 10000))
            {
                Console.WriteLine("Process A started.");
                bool mutexCreated;
                var mutex = new Mutex(true, MmfMutex, out mutexCreated);

                using (MemoryMappedViewStream stream = mmf.CreateViewStream())
                {
                    var writer = new BinaryWriter(stream);
                    writer.Write('a');
                }
                mutex.ReleaseMutex();

                Console.WriteLine("Please start process B. Once it's done press ENTER.");
                Console.ReadLine();

                mutex.WaitOne();
                using (MemoryMappedViewStream stream = mmf.CreateViewStream())
                {
                    var reader = new BinaryReader(stream);
                    Console.WriteLine("Process A : {0}", reader.ReadChar());
                    Console.WriteLine("Process B : {0}", reader.ReadChar());
                    Console.ReadLine();
                }
                mutex.ReleaseMutex();
            }
        }
All Usage Examples Of System.Threading.Mutex::ReleaseMutex