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 212073
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 11, 20262026-05-11T18:09:10+00:00 2026-05-11T18:09:10+00:00

I am looking for a way to determine for a thread on which other

  • 0

I am looking for a way to determine for a thread on which other thread it was originally spawned. I do not know whether a mechanism exists to do this, similar to the “Parent” property on Tasks in the new Task Parallel Library for .NET 4

Edit:
Further investigation actually seems to indicate that there is no location to store this information, so short of really ugly hacks this does not appear to be possible to implement transparently.

As such I think I will accept the sample code below as the most feasible (non-transparent) answer to solve the problem, even though I’ll have to look for an alternate design myself. 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-11T18:09:10+00:00Added an answer on May 11, 2026 at 6:09 pm

    The system doesn’t provide such functionality internally. You can pass the thread ID of the parent thread to the thread start function pretty easily:

    static class ThreadSpawner
    {
        [ThreadStatic]
        private static int parentThreadId;
        public static int ParentThreadId
        {
            get { return parentThreadId; }
        }
    
        private class ThreadInfo
        {
            public int ParentId;
            public Action Method;
        }
    
        private static void StartThread(object parameter)
        {
            var threadInfo = (ThreadInfo)parameter;
            parentThreadId = threadInfo.ParentId;
            threadInfo.Method();
        }
    
        public static void Spawn(Action start)
        {
            new Thread(StartThread).Start(
                new ThreadInfo { 
                     Method = start, 
                     ParentId = Thread.CurrentThread.ManagedThreadId 
                });
        }
    }
    
    
    // Usage:
    ThreadSpawner.Spawn(MyMethod);
    
    static void MyMethod() { 
        Console.WriteLine(ThreadSpawner.ParentThreadId);
    }
    
    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I'm looking for a similar IsStructure function. Is there some other way to determine
I'm looking for a way to determine whether an ARM processor is booting from
Is there a way to determine which view created a block by looking at
Is there a way to determine the language in which an assembly was originally
I'm looking for a way to determine if a specific tray on a given
I am looking for a way to determine what the Name/IP Address of the
I am looking for a way to determine how much free disk space there
I am looking for a way to determine when a particular file has changed,
I'm looking for the fastest way to determine if a long value is a
I am looking for a way to determine file permissions for the current user

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.