Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 7639825
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 31, 20262026-05-31T08:31:17+00:00 2026-05-31T08:31:17+00:00

When I am using the .Net 4 Task class which uses the ThreadPool, what

  • 0

When I am using the .Net 4 Task class which uses the ThreadPool, what happens if all Threads are busy?

Does the TaskScheduler create a new thread and extend the ThreadPool maximum number of threads or does it sit and wait until a thread is available?

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-31T08:31:18+00:00Added an answer on May 31, 2026 at 8:31 am

    The maximum number of threads in the ThreadPool is set to around 1000 threads on a .NET4.0 32-bit system. It’s less for older versions of .NET. If you have 1000 threads going, say they’re blocking for some reason, when you queue the 1001st task, it won’t ever execute.

    You will never hit the max thread count in a 32 bit process. Keep in mind that each thread takes at least 1MB of memory (that’s the size of the user-mode stack), plus any other overhead. You already lose a lot of memory from the CLR and native DLLs loaded, so you’ll hit an OutOfMemoryException before you use that many threads.

    You can change the number of threads the ThreadPool can use, by calling the ThreadPool.SetMaxThreads method. However, if you’re expecting to use that many threads, you have a far larger problem with your code. I do NOT recommend you mess around with ThreadPool configurations like that. You’ll most likely just get worse performance.

    Keep in mind with Task and ThreadPool.QueueUserWorkItem, the threads are re-used when they’re done. If you create a task or queue a threadpool thread, it may or may not create a new thread to execute your code. If there are available threads already in the pool, it will re-use one of those instead of creating (an expensive) new thread. Only if the methods you’re executing in the tasks never return, should you worry about running out of threads, but like I said, that’s an entirely different problem with your code.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

Background: I'm using .NET 4.0 and the new Task class. Using the code found
Using .NET and the Word Interop I am programmatically creating a new Word doc
Using .NET's Office interop libraries, does anybody know the best way to convert back
NOTE: Using .NET 2.0, and VS2005 as IDE Hello all, I'm working on logging
We're using Quartz.Net to schedule about two hundred repeating jobs. Each job uses the
I've created what I thought was a simple app using the .Net 4.0 Task
I am currently replacing some home baked task functionality with a new implementation using
I've got a vanilla .net class library which contains some types which are [ComVisible]
Using .Net (C#), how can you work with USB devices? How can you detect
Using .NET 1.1, I have a DataGrid that contains three columns for each row.

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.