var temp = actual;
                        Thread.Sleep(500);
                        actual = temp + 1;

The goal is to simulate delay get and set (typical synchronized problem if not lock properly).  I made them more obvious so the test will fail if the lock does not do what it is supposed to do.