Write a standard lock() plus double check to create a
critical section around a variable access?
Answer / debmalya kundu
using System;
using System.Text;
using System.Threading;
namespace thread01
{
public class Counter
{
private int _count=0;
private int _even=0;
public int Count { get { return _count; } }
public int EvenCount { get { return _even; } }
private Object theLock = new Object();
public void UpdateCount()
{
lock (theLock)
{
_count = _count + 1;
if (Count % 2 == 0) // An even number
{
_even += 1;
}
}
}
}
class Program
{
static void Main(string[] args)
{
Counter count = new Counter();
ParameterizedThreadStart starter = new
ParameterizedThreadStart(Program.UpdateCount);
Thread[] threads = new Thread[10];
for (int x = 0; x < 10; ++x)
{
threads[x] = new Thread(starter);
threads[x].Start(count);
}
for (int y = 0; y < 10; ++y)
{
threads[y].Join();
}
Console.WriteLine("Total: {0} - Even: {1}",
count.Count,count.EvenCount);
Console.ReadKey();
Console.ReadKey();
}
static void UpdateCount(object param)
{
Counter count = (Counter)param;
for (int z = 1; z <= 100000; ++z)
{
count.UpdateCount();
}
}
}
}
Is This Answer Correct ? | 3 Yes | 0 No |
Can you explain what inheritance is and an example of when you might use it?
What are the new navigation controls in asp.net 2.0?
Is razor a programming language?
How will u decide when to use caching and when to use viewstate?
I’m having some trouble with cas. How can I diagnose my problem?
What are the differences between the response.write() and response.output.write()?
To which class you load XML or Related Data
Describe the .net base class library.
what is asp dotnet
What is the displayafter property in updateprogress control?
Which type if caching will be used if we want to cache the portion of a page instead of whole page?
Can asp.net work on an nt server?