C# Program to Demonstrate Lock in Thread

«
»

This is a C# Program to demonstrate lock in thread.

Problem Description

This C# Program Demonstrates Lock in Thread.

Problem Solution

The lock keyword marks a statement block as a critical section by obtaining the mutual-exclusion lock for a given object, executing a statement, and then releasing the lock. The following example includes a lock statement.

advertisement
Program/Source Code

Here is source code of the C# Program to Demonstrate Lock in Thread. The C# program is successfully compiled and executed with Microsoft Visual Studio. The program output is also shown below.

/*
 *  C# Program to Demonstrate Lock in Thread
 */
 
using System;
using System.Threading;
 
class Program
{
    static readonly object _object = new object();
 
    static void TEST()
    {
        lock (_object)
        {
            Thread.Sleep(100);
            Console.WriteLine(Environment.TickCount);
        }
    }
    static void Main()
    {
        for (int i = 0; i < 10; i++)
        {
            ThreadStart start = new ThreadStart(TEST);
            new Thread(start).Start();
        }
    }
}
Program Explanation

In this C# Program, using for loop we are creating new thread. The lock keyword marks a statement block as a critical section by obtaining the mutual-exclusion lock for a given object, executing a statement. The sleep() method is used for making a thread pause for a specific period of time then release the lock.

advertisement
Runtime Test Cases
 
900500
900593
900687
900796
900890
900999
901092
901186
901295
901389

Sanfoundry Global Education & Learning Series – 1000 C# Programs.

If you wish to look at all C# Programming examples, go to 1000 C# Programs.

advertisement
advertisement
advertisement
Manish Bhojasia, a technology veteran with 20+ years @ Cisco & Wipro, is Founder and CTO at Sanfoundry. He is Linux Kernel Developer & SAN Architect and is passionate about competency developments in these areas. He lives in Bangalore and delivers focused training sessions to IT professionals in Linux Kernel, Linux Debugging, Linux Device Drivers, Linux Networking, Linux Storage, Advanced C Programming, SAN Storage Technologies, SCSI Internals & Storage Protocols such as iSCSI & Fiber Channel. Stay connected with him @ LinkedIn