Search code examples
c#lockingwaitmonitorpulse

Shared Variables for Monitor Locking with Threads and Different Classes


I have a C# Windows application I'm working on where I kick off different classes in their own thread (ie: Class1 instance in Thread 1, Class 2 instance in Thread 2, etc).

I'm trying to correctly suspend/resume the threads, but I can't figure out how to share the lock variables for Wait/Pulse of Monitor between different classes and threads.

It seems like this should have a simple answer, I just can't figure it out. I'd really appreciate any help!

Thanks!


Solution

  • use public static fields, for ex.,

    public class Sync
    {
        public static object LockObject = new object();
        //or any other sync mechanism 
        //AutoResetEvent,ManualResetEvent,Semaphore,CountdownEvent,Mutex etc.
    }