Skip to Main Content
C# Cookbook, 2nd Edition
book

C# Cookbook, 2nd Edition

by Jay Hilyard, Stephen Teilhet
January 2006
Intermediate to advanced content levelIntermediate to advanced
1184 pages
43h 23m
English
O'Reilly Media, Inc.
Content preview from C# Cookbook, 2nd Edition
This is the Title of the Book, eMatter Edition
Copyright © 2007 O’Reilly & Associates, Inc. All rights reserved.
Synchronizing Multiple Processes with the Mutex
|
1051
Discussion
A Mutex is designed to give mutually exclusive (thus the name) access to a single
resource. A
Mutex can be thought of as a cross-process, named Monitor where the
Mutex is “entered” by waiting on it and becoming the owner, then “exited” by releas-
ing the
Mutex for the next thread that is waiting on it. If a thread that owns a Mutex
ends, the Mutex is released automatically.
Using a
Mutex is slower than using a Monitor as a Monitor is a purely managed con-
struct whereas a Mutex is based on the Mutex kernel object. A Mutex cannot be
“pulsed” as can a
Monitor, but it can be used across processes which a Monitor can-
not. Finally, the
Mutex is based on WaitHandle, so it can be waited on with other
objects derived from
WaitHandle, like Semaphore and the event classes.
The
SharedMemoryManager and PInvoke classes are listed in their entirety in
Example 18-12.
return item;
}
}
Example 18-12. SharedMemoryManager and PInvoke classes
/// <summary>
/// Class for sending objects through shared memory using a mutex
/// to synchronize access to the shared memory
/// </summary>
public class SharedMemoryManager<TransferItemType> : IDisposable
{
#region Consts
const int INVALID_HANDLE_VALUE = -1;
const int FILE_MAP_WRITE = 0x0002;
/// <summary>
/// ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

C# Cookbook

C# Cookbook

Stephen Teilhet, Jay Hilyard
C# Cookbook

C# Cookbook

Joe Mayo
Head First C#, 4th Edition

Head First C#, 4th Edition

Andrew Stellman, Jennifer Greene

Publisher Resources

ISBN: 0596100639Supplemental ContentCatalog PageErrata