My latest article on “.NET Attributes” explains the Attributes and their usage with C#. It also refers to my previous articles where I have focused on specific attribute based topics for example, [CLSCompliant] and [WebMethod].
Read full article here on C# corner
When you see such statement, one thing which comes in your mind about purpose of new keyword is that it creates an instance, isn’t it?
Class objC= new Class();
When this is certainly the main purpose, there are other behind the scene tasks, our well known new keyword is responsible for, lets understand what:
1- Verifies the size needed for object allocation on managed heap.
2- If sufficient space is available then allocate the object, where application root pointer is pointing.
3- If required space is not available then, it triggers the GC (Garbage collection) lives in System.GC namespace, which does the heap cleanup and then after reclamation of needed space, the object will be allocated.
So, new is not just instance creation, its more that that. By the way, IL instruction for new is newobj.
The default upper limit of threads that the Thread pool will create by calling ThreadPool.SetMaxThreads.
• 1023 in .NET Framework 4.0 -32-bit environment
• 32768 in .NET Framework 4.0 – 64-bit environment
• 250 per core in .NET Framework 3.5
• 25 per core in .NET Framework 2.0
Read my full article here CLR-Internals- Process and Application Domain