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

  • Home
  • SEARCH
  • 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 1039629
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 16, 20262026-05-16T15:07:26+00:00 2026-05-16T15:07:26+00:00

When you call the BeginInvoke method on a Func delegates (or the Action delegates

  • 0

When you call the BeginInvoke method on a Func delegates (or the Action delegates for that matter) in C#, does the runtime use the ThreadPool or spawn a new thread?

I’m almost certain that it’ll use the ThreadPool as that’d be the logical thing to do but would appreciate it if someone could confirm this.

Thanks,

  • 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-16T15:07:27+00:00Added an answer on May 16, 2026 at 3:07 pm

    It uses the thread pool, definitely.

    I’m blowed if I can find that documented anyway, mind you… this MSDN article indicates that any callback you specify will be executed on a thread-pool thread…

    Here’s some code to confirm it – but of course that doesn’t confirm that it’s guaranteed to happen that way…

    using System;
    using System.Threading;
    
    public class Test
    {
        static void Main()
        {
            Action x = () => 
                Console.WriteLine(Thread.CurrentThread.IsThreadPoolThread);
    
            x(); // Synchronous; prints False
            x.BeginInvoke(null, null); // On the thread-pool thread; prints True
            Thread.Sleep(500); // Let the previous call finish
        }
    }
    

    EDIT: As linked by Jeff below, this MSDN article confirms it:

    If the BeginInvoke method is called,
    the common language runtime (CLR)
    queues the request and returns
    immediately to the caller. The target
    method is called asynchronously on a
    thread from the thread pool.

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

Sidebar

Related Questions

Replacing Threads (not ThreadPool Thread) with Asynchronous Delegates (Callbacks). My Scenario: Spawn a Thread/del.beginInvoke()
i am having a bit trouble in understanding it that BeginInvoke() method call in
I call from a spreadsheet module a function that does some processing in another
I call an URL that returns me JSON (I use JSONKit). I convert it
Why does the delegate need to call the EndInvoke before the method fires? If
I call an asynchronous method from a main thread. How to kill or stop
Does anyone know how the source code is declared for the Func and Action
I've got an extension method that I use to fire PropertyChanged notifications that looks
Suppose I want to have a method that passes the BeginInvoke method of an
I'm trying to call System.Windows.Threading.Dispatcher.BeginInvoke . The signature of the method is this: BeginInvoke(Delegate

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.