Blokada metody w c #

Mam jedną klasę z tymi trzema metodami. Ta klasa jest używana przez wiele wątków. Chciałbym, aby metoda1 czekała, jeśli metody 2 i / lub metoda 3 działają w dowolnych wątkach. Jakieś sugestie?

public class Class1
{
    public static void Method1() 
    {
        Object lockThis = new Object();

        lock (lockThis)
        {
            //Body function
        }
    }

    public static void Method2() 
    {
         //Body function
    }

    public static void Method3() 
    {
         //Body function
    }
}

questionAnswers(4)

yourAnswerToTheQuestion