コード例 #1
0
    public void DoWork()
    {
        int snapshot = m_iSharedData;

        Delayer.Delay(Delayer.RandomShortDelay(m_rng));
        m_iSharedData++;
        Delayer.Delay(Delayer.RandomShortDelay(m_rng));
        if (m_iSharedData != snapshot + 1)
        {
            Error = true;
            Console.WriteLine("Failure!!!");
        }
        if (m_iSharedData == m_iRequestedEntries)
        {
            m_Event.Set();
        }
    }
コード例 #2
0
    public void DoWork()
    {
        int snapshot = m_iSharedData;

        Delayer.Delay(Delayer.RandomShortDelay(m_rng));
#if (DEBUG)
        Console.WriteLine("Entering Monitor: " + m_iSharedData);
#endif
        m_iSharedData++;
        Delayer.Delay(Delayer.RandomShortDelay(m_rng));
        if (m_iSharedData != snapshot + 1)
        {
            Error = true;
            Console.WriteLine("Failure!!!");
        }
#if (DEBUG)
        Console.WriteLine("Leaving Monitor: " + m_iSharedData);
#endif
        if (m_iSharedData == m_iRequestedEntries)
        {
            m_Event.Set();
        }
    }